$serverNames = ("serverA","serverB", "serverC")
foreach ($server in $serverNames )
{
ROBOCOPY.exe C:\Websites\ \\$server\C$\Websites\ /MIR
}
Удостоверьтесь, что Robocopy находится в пути. Remeber, что текущая работа не является частью пути в PS поэтому, если robocopy находится в текущем рабочем каталоге, предварительно ожидайте его с.\(.\Robocopy.exe...). Для executeables необходимо указать .exe на имени файла.
Если Ваш список серверов не является слишком длинным, Вы можете одна строка он также (этот предполагает, что robocopy находится в текущем рабочем dir):
("serverA","serverB", "serverC") | %{.\Robocopy.exe C:\Websites\ \\$_\Websites\ /MIR}
Ответ EBGREEN является правильным. Однако, если все, что Вы хотите сделать, выполняют строку, Вы можете
Вызывать-выражение "ROBOCOPY C:\Websites\ \" + $server + "\C$\\Websites\/MIR"
Или
И "ROBOCOPY C:\Websites\ \" + $server + "\C$\\Websites\/MIR"
Или
cmd/c "ROBOCOPY C:\Websites\ \" + $server + "\C$\\Websites\/MIR"
@EBGreen,
У меня нет достаточного количества точек, чтобы прокомментировать, что я предполагаю. Я не знаю то, что произошло с моими точками от stackoverflow... Я запустил в serverfault с более чем 100 точек от стека, затем они спали 11 или около этого.
У меня нет доступа к v1, но в v2, по крайней мере: PS> получать-псевдоним установлена
Определение Названия CommandType-----------------------Исказите Переменную Набора набора