如何使用Powershell将文件复制到其他路径?

问题描述 投票:0回答:1

我正在尝试使用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下方的两个文件夹中。我尝试使用此代码,并且未将文件复制到所需的路径。有什么方法可以解决此代码的问题?

powershell filepath file-move
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\"}
© www.soinside.com 2019 - 2024. All rights reserved.