$基本上我試圖做的是:如何批量複製的文件與使用PowerShell
我從包含我需要的文件列表的.csv電子表格拉動信息。問題是,它們所在的目錄包含16,000多個文件!我只需要其中大約4600個(因爲電子表格列僅包含很多)。實際上,我已經弄清了代碼的所有部分......但是遇到問題的時候就是當它到達我的代碼的「Copy-Item」部分時。它運行良好,直到它碰到有括號作爲文件名的一部分的文件,所以它當然會拋出錯誤,並且不會給我我需要的東西。我怎樣才能解決這個問題?請注意,需要/被複制的文件不能被重命名。如果這是一個解決方案,我不確定如何在這裏使用「-LiteralPath」。 :(這裏是我下面的代碼:
$Directory = gci D:\Documents\15075_32\
$Destination = "D:\CleanReview"
$ReviewSheet = import-csv 'C:\Users\7cm\Desktop\Internal Review - Emails Removed per Attorney Request.csv'
$BaseItem = foreach($li in $ReviewSheet){$li.Base}
foreach($File in $Directory){
$File.BaseName
foreach($Item in $BaseItem){
if($Item -like $File.BaseName){
$Item
Copy-Item $File.FullName $Destination -Force
}
}
}
你是什麼意思?像這樣: $ Directory = gci -LiteralPath D:\ Documents \ 15075_32 \ –
我將-LiteralPath放置在目錄的路徑中,但是我沒有看到這將如何改變,因爲我聲明瞭那個文件稍後分開。另外,我看到了類似於支持通配符的地方,即使我正在從字面上看它,它仍然會拋出通配符錯誤。所以我將我的操作員切換到-eq,但現在它告訴我無法找到我的.MSG文件,因爲路徑不存在。因此,我將$ Directory添加到$ File($ Directory + $ File)到複製項目行中。但現在即使文件名相同,也不會複製它們! :( –
我能夠解決這個問題,並得到我想要的結果。我有一個解釋如下。 –