2016-04-17 115 views
-1

我試圖使用here中的腳本將我轉換爲mp4的avi文件移回原始文件夾。所有似乎都工作正常,腳本試圖將文件移動到正確的位置(見下文),但mp4文件不移動。移動具有相同名稱但擴展名不同的文件

如果:執行操作 「移動文件」 目標 「項目:Z:\ AVI \ MVI_4965.mp4目的地:Z:\圖片\ 2011 \ 04_21_11_Bergen \ MVI_4965.mp4」。

的所有文件都位於我的Z:NAS驅動器,我已經修改了劇本考慮到這一點(見下文)從PS Z:\>開始。

# Create a hashtable with key = file basename and value = containing directory 
$mediaFiles = @{} 
Get-ChildItem -Recurse .\Pictures | ?{!$_.PsIsContainer} | ForEach-Object { 
    $mediaFiles[$_.BaseName] = $_.DirectoryName 
} 

# Look through lost files and if the lost file exists in the hash, then move it 
Get-ChildItem -Recurse .\AVI | ?{!$_.PsIsContainer} | ForEach-Object { 
    if ($mediaFiles.ContainsKey($_.BaseName)) { 
    Move-Item -whatif $_.FullName $mediaFiles[$_.BaseName] 
    } 
} 

任何想法什麼是停止被移動的文件或如何更正?

回答

2

這就是-WhatIf的觀點。它只是說明它會做什麼而沒有真正做到這一點,所以你可以先驗證腳本。將其從Move-Item命令中刪除。

+0

完美工作,謝謝,我幾乎是任何PowerShell的新手! – jimbo34

+2

很高興我能幫到你。請記住用左側的按鈕標記選定的答案,這樣問題就會被解答。 :-)歡迎來到SO –

相關問題