如果目标存在则跳过文件复制 - PowerShell
Skip file copy if target exist - PowerShell
你能帮忙吗?我使用以下 PowerShell 代码将文件 (test.txt) 复制到每个用户的漫游文件夹中。有用。但如果 test-old.txt
(这是以前重命名的文件)已经存在,我想跳过复制文件。预先感谢您的帮助。
仅供参考 - 如果可行的话,我很高兴拥有一个全新的代码。
$Source = '\ser04\h\AppsData\test.txt'
$Destination = 'C:\users\*\AppData\Roaming\SAP\Common\'
Get-ChildItem $Destination | ForEach-Object {Copy-Item -Path $Source -Destination $_ -Force}
假设 test-old.txt
的路径是每个用户的 ..\SAP\Common\
文件夹,您只需要在现有代码中添加一个 if
条件来检查该文件是否存在于该文件夹中.一个简单的方法是使用 Test-Path
.
如果您想定位 Default
和 Default User
文件夹,请记住添加 -Force
切换到 Get-ChildItem
。
$Source = '\ser04\h\AppsData\test.xml'
$Destination = 'C:\users\*\AppData\Roaming\SAP\Common\'
Get-ChildItem $Destination | ForEach-Object {
$testOld = Join-Path $_.FullName -ChildPath 'test-old.txt'
if(-not(Test-Path $testOld))
{
Copy-Item -Path $Source -Destination $_ -Force
}
}
你能帮忙吗?我使用以下 PowerShell 代码将文件 (test.txt) 复制到每个用户的漫游文件夹中。有用。但如果 test-old.txt
(这是以前重命名的文件)已经存在,我想跳过复制文件。预先感谢您的帮助。
仅供参考 - 如果可行的话,我很高兴拥有一个全新的代码。
$Source = '\ser04\h\AppsData\test.txt'
$Destination = 'C:\users\*\AppData\Roaming\SAP\Common\'
Get-ChildItem $Destination | ForEach-Object {Copy-Item -Path $Source -Destination $_ -Force}
假设 test-old.txt
的路径是每个用户的 ..\SAP\Common\
文件夹,您只需要在现有代码中添加一个 if
条件来检查该文件是否存在于该文件夹中.一个简单的方法是使用 Test-Path
.
如果您想定位 Default
和 Default User
文件夹,请记住添加 -Force
切换到 Get-ChildItem
。
$Source = '\ser04\h\AppsData\test.xml'
$Destination = 'C:\users\*\AppData\Roaming\SAP\Common\'
Get-ChildItem $Destination | ForEach-Object {
$testOld = Join-Path $_.FullName -ChildPath 'test-old.txt'
if(-not(Test-Path $testOld))
{
Copy-Item -Path $Source -Destination $_ -Force
}
}