2014-01-07 56 views
0

我使用Powershell和imagemagick創建一個簡單的代碼來追加圖像。我需要從一個文件夾運行Powershell,從子文件夾獲取輸入圖像,並從該文件夾的子文件夾獲取輸出圖像。在PowerShell命令中使用單獨的文件夾

例如,文件夾結構變爲:

\image-converter\Append-images\Appended 

所以PowerShell的會從 「圖像轉換器」 文件夾中運行,並將與目錄中打開: PS

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

的要添加的輸入圖像將存儲在「追加圖像」文件夾中,並且輸出圖像將被保存到文件夾「Appended」。

我將使用的命令的一個例子是:

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

因此,我需要修改命令,以採取從\追加圖像的輸入圖像,並保存在輸出圖像添加到\ Append-images \ Appended。

P.S.我不能使用完整的"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

是的,這些命令將始終在「圖像轉換器」文件夾中運行。 – Moogle

0

使用環境變量來獲取用戶配置文件,然後你subdirectorys:

$env:userprofile 

會給你C:\Users\User1

如果你想的文件夾,請執行下列操作:

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

然後與那些工作。

+0

除非我誤解了,我不認爲這會起作用。由於這將被不同的人使用並存儲在不同的位置,所以「圖像轉換器」文件夾將不具有相同的目錄。通常它將存儲在網絡驅動器而不是本地C驅動器上。 – Moogle

+0

好吧,您可以更好地瞭解您的環境,但是您可以使用R:\ Application \ ImageConverter \或網絡共享上應用程序的任何路徑,然後使用用戶路徑導出圖像,臨時存儲等你不能使用硬路徑。你也可以嘗試清理你的問題,因爲它有點令你困惑。請記住,這是一個問答網站。 –

相關問題