PowerShell и Robocopy - Robocopy не инициируется. - PullRequest
0 голосов
/ 30 мая 2018

Я пытаюсь написать команду PS, которую можно запустить вручную в PS ISE.Все работает, кроме RoboCopy.Если я возьму аргумент Log, он будет работать нормально.Можете ли вы сказать мне, что я делаю не так?Под управлением Windows 10.

Get-ChildItem * -Include *.txt -Recurse | Remove-Item -verbose

Start-Process "RoboCopy.exe" -argumentlist "`"C:\SSDT`" `"C:\SSDT2`" /COPY:DAT /E /Z /FFT /MT:20 /R:2 /W:3 /XO /XF *.tmp /XF desktop.ini /XF Default.rdp /LOG:C:\Backup\%DATE:/=-%-RoboCopy.txt /V /TEE"

1 Ответ

0 голосов
/ 30 мая 2018

Поскольку вы работаете в PowerShell, переменные стиля cmd.exe не работают.

Таким образом, %DATE:/=-%- фактически будет той строкой, которая содержит недопустимые символы.Вы можете использовать командлет Get-Date для генерации того же формата даты.

Get-Date -Format 'ddd MM-dd-yyyy'

Затем, используя подвыражение $(), вы можете вставить это в свою команду.

Start-Process "RoboCopy.exe" -argumentlist "`"C:\SSDT`" `"C:\SSDT2`" /COPY:DAT /E /Z /FFT /MT:20 /R:2 /W:3 /XO /XF *.tmp /XF desktop.ini /XF Default.rdp /LOG:C:\Backup\$(Get-Date -Format 'ddd MM-dd-yyyy')-RoboCopy.txt /V /TEE"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...