我的Copy-Item
包含在foreach
循环中时不起作用。
很像Powershell: Copy-Item not working when in ForEach loop
只有我的目标文件夹与原始文件夹的设置不同,这似乎是那里的问题。
这是非常基本的功能。我的目标是从包含许多文件的日志文件的目录中获取最新的日志文件。我只对$ servers中定义的几个感兴趣。 Servers.txt中的一行如下所示:\\ clientname \ d $ \ logdirectory \ processlog \
当我Set-Location
到servers.txt中的路径并运行Get-ChildItem
时,它可以正常工作。
我还需要为\ Logs \中的每个对象生成一个新文件夹,但一次只能生成一遍。
$servers = @()
$servers = Get-Content c:\Test\Servers.txt
$destServer = @()
$destServer = ( "clientname")
$destinationFolder = "\\" + $destServer + "\d$\Logs\"
foreach ($serverpath in $servers) {
Write-Host " Copying from $serverpath "
Set-Location -literalpath $serverpath |
Get-ChildItem |
Sort-Object -Descending LastWriteTime |
Select -First 2 |
Copy-Item -Destination $destinationFolder -Recurse -Force
}