簡體   English   中英

如何使用PowerShell將具有多個擴展名的文件集移動到另一個目錄?

[英]How to move set of files having multiple extension to another directory using PowerShell?

我需要將一組具有不同擴展名的特定文件移動到另一個文件夾。

我在目錄中有以下過濾的文件。

file1.txt
file2.xml
file3.dll

我將以上文件保存在$files變量中,我需要將每個文件移動到另一個文件夾中。

下面是我嘗試的代碼。

foreach ($fileType in $files) {
    Get-ChildItem -Path C:\Files -Filter "$fileType*." -Recurse |
        Move-Item -Destination C:\Dest
}

我收到以下錯誤

Get-ChildItem : Illegal characters in path.
At line:1 char:38
+ ... lude_files){Get-ChildItem -Path C:\Files

欣賞是否有人可以為此提供幫助?

一種簡單的方法

ls C:\files | Foreach {
        Move-Item -Path C:\files\$filetype -Destination C:\dest
}

如果您之后的所有文件都共享一個通用的“開始於”名稱(例如您的示例中的file ,則下面的內容應該可以滿足您的要求。 它使用-Include參數,您可以在其中添加要查找的擴展名(在本例中)數組。

Get-ChildItem -Path 'C:\Files' -Filter 'file*' -Include '*.txt','*.xml','*.dll' -Recurse |
    Move-Item -Destination 'C:\Dest'

注意: -Include參數僅在與-Recurse開關一起使用時有效,或者在路徑后附加\\* (例如C:\\Files\\*

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM