2014-01-07 2 views
0

Powershell 및 imagemagick을 사용하여 이미지를 추가하는 간단한 코드를 만듭니다. Powershell을 하나의 폴더에서 실행하려면 입력 이미지를 하위 폴더에서 가져와 출력 이미지를 해당 폴더의 하위 폴더에서 가져와야합니다.powershell 명령에서 별도의 폴더 사용

예를 들어, 폴더 구조 간다 :

\image-converter\Append-images\Appended 

그래서 PowerShell은 "이미지 컨버터"폴더에서 실행되며, 디렉토리 열립니다 : PS

C:\Users\name\Downloads\image-converter> 

추가 할 입력 이미지는 "Append-images"폴더에 저장되고 출력 이미지는 "Appended"폴더에 저장됩니다.

내가 사용하게 될 명령의 예는 다음과 같습니다

  • convert +append input.png input.png output.png

그래서 내가 \ 추가] - 이미지의 입력 이미지를 취하도록 명령을 수정해야하고 출력을 절약 할 수 이미지를 \ Append-images \ Appended에 추가하십시오.

P."C:\..." 전체 경로를 사용할 수 없기 때문에 다른 사람들이이 경로를 사용하므로 이미지 변환 폴더가 다른 위치에 저장됩니다. 그래서 Powershell이 ​​실행될 경로 "PS C:\...\image-converter>"을 빌드하는 명령이 필요합니다.

답변

0

어때?

$scriptPath = split-path -parent $MyInvocation.MyCommand.Definition 
Get-Content -path "$scriptPath\Append-images\" 

다음 파일을 찾아야하는 위치가 있어야합니다.

+0

그러나 종종 이러한 폴더는 네트워크 드라이브에 저장되므로 userprofile을 기본값으로 사용할 수 없습니다. 또한이 명령은 Powershell을 사용하지 않은 사람들이 사용하기 때문에 가능한 한 간단해야합니다 (이미지 이름 입력을 기반으로 명령을 컴파일하는 Excel 파일을 작성하므로 솔루션은 결과 명령을 복사하여 붙여 넣기 만해도 충분히 간단해야합니다). – Moogle

+0

스크립트가 이미지의 상위 폴더에 있습니까? – mwjcomputing

+0

예, 명령은 항상 "image-converter"폴더에서 실행됩니다. – Moogle

0

사용 환경 변수는 subdirectorys 다음 사용자 프로필을 얻고,하기 :

$env:userprofile 

당신에게 줄 것이다 당신의 C:\Users\User1

당신이 폴더를 확인하려면 다음을 수행하십시오

mkdir $env:userprofile\images 
mkdir $env:userprofile\images\AppendImages 
mkdir $env:userprofile\images\Output 

그런 다음 작업하십시오.

+0

내가 잘못 이해하지 않는 한, 제대로 작동하지 않을 것이라고 생각합니다. 이 파일은 다른 사람이 사용하고 다른 위치에 저장되기 때문에 "image-converter"폴더에는 같은 디렉토리가 없습니다. 종종 로컬 C 드라이브가 아닌 네트워크 드라이브에 저장됩니다. – Moogle

+0

환경을 잘 알고 있지만 네트워크 공유에서 'R : \ Application \ ImageConverter \'또는 응용 프로그램의 경로를 사용하고 내 보낸 이미지, 임시 저장소 등에 사용자 경로를 사용하십시오. 당신은 하드 경로를 사용할 수 없습니다. 조금 혼란 스러울 수도 있으므로 질문을 정리해보십시오. Q & A 사이트임을 기억하십시오. –

관련 문제