0

我正在尝试使用 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 类型和路径,文件位于 $datesamp 下方的两个文件夹中。我已经尝试过使用此代码并且它没有将文件复制到我想要的路径。有什么方法可以修复此代码以使其正常工作吗?

4

1 回答 1

2

你所追求的是一个循环。这将循环浏览*.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\"}
于 2020-01-20T05:16:11.183 回答