我正在尝试使用powershell复制文件。
$datestamp = (Get-Date).ToString("yyyyMMdd")
Copy-Item -Path \\User\LS\ADMIN\HW\DATA\Payroll\$datestamp\*.txt -Destination C:\Users\User1\Desktop\New folder
我要复制的文件是txt类型和此文件的路径,这些文件位于$ datestamp下方的两个文件夹中。我尝试使用此代码,并且未将文件复制到所需的路径。有什么方法可以解决此代码的问题?
您追求的是一个循环。这将循环浏览该位置中的所有*.txt
文件,并根据要求复制它们。
$datestamp = (Get-Date).ToString("yyyyMMdd")
$Files = Get-ChildItem -Path "\\User\LS\ADMIN\HW\DATA\Payroll\$datestamp\" -Filter "*.txt"
Foreach($File in $Files) {
Copy-Item -Path $File.FullName -Destination "C:\Users\User1\Desktop\New folder\"
}
一个衬管(管道)版本看起来像这样:
Get-ChildItem
-Path "\\User\LS\ADMIN\HW\DATA\Payroll\$((Get-Date).ToString("yyyyMMdd"))\"
-Filter "*.txt" `
| % {
Copy-Item
-Path $_.FullName
-Destination "C:\Users\User1\Desktop\New folder\"
}
可以从示例中删除所有新行,这样做是为了格式化,否则看起来像这样。
Get-ChildItem -Path "\\User\LS\ADMIN\HW\DATA\Payroll\$((Get-Date).ToString("yyyyMMdd"))\" -Filter "*.txt" | % {Copy-Item -Path $_.FullName -Destination "C:\Users\User1\Desktop\New folder\"}