Hello Power Shell Champs,根據文件名的一部分將文件移動到另一個文件夾
我有這種情況。
我身邊有100個文件在C國名的例子:\作爲報道:
- 報告文件,USA.ppt
- 報告文件,Canada.ppt
- 報告文件,Brazil.ppt
- 報告文件,Chile.ppt
我有國名也是在文件夾C文件夾:\國家
我想要做的是將基於國家名稱的文件移動到基於國家名稱的相應文件夾中。
我可以創建一個循環工作。 注:的目標文件夾已經創建,只需要移動
Hello Power Shell Champs,根據文件名的一部分將文件移動到另一個文件夾
我有這種情況。
我身邊有100個文件在C國名的例子:\作爲報道:
我有國名也是在文件夾C文件夾:\國家
我想要做的是將基於國家名稱的文件移動到基於國家名稱的相應文件夾中。
我可以創建一個循環工作。 注:的目標文件夾已經創建,只需要移動
雖然一些代碼從你身邊,看你已經走了多遠將是有益的文件,我想這樣的事情應該做的伎倆: (編輯)
$list = (Get-ChildItem -Path C:\reports\ -Name -File).Replace('Report File-','').Replace('.ppt','')
foreach ($item in $list) {
Move-Item -Source ".\Report File-$($item).ppt" -Destination "C:\Countries\$($item)\"
}
正如Maigi提到,這裏是工作的代碼,它實際上使用Move-Item
正如你在原來的職位,而不是Copy-Item
要求。
此代碼已經過測試並且可以正常工作。
$list = (Get-ChildItem -Path C:\reports\ -Name -File).Replace('Report File-','').Replace('.ppt','')
ForEach-Object ($item in $list)
{
Move-Item -Path "C:\reports\Report File-$($item).ppt" -Destination "C:\Countries\$($item)\"
}
總是有一種以上的方法在PowerShell中完成一項任務: 這個腳本
Get-ChildItem 'C:\reports\Report File-*.ppt' -File | ForEach-Object{
$Country = Join-Path "C:\Country" $($_.BaseName.split('-')[1])
If (!(Test-path $Country)) {mkdir $Country|Out-Null}
$_|Move-Item -Destination $Country -whatif
}
如果輸出看起來不錯,除去-whatif
歡迎到現場,阿非索爾。你能否展示你迄今爲止所寫的內容,以便我們能夠幫助你解決遇到的問題。您可以參考https://stackoverflow.com/help/how-to-ask獲取有關如何在本網站上提問的指導。 –
您有多個答案張貼,如果您發現任何這些幫助請upvote或選擇一個作爲您的問題的答案,謝謝。 –