我正在尝试编写一个PS命令,可以在write中手动运行。除了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"发布于 2018-05-30 18:37:58
由于您在PowerShell中运行,所以cmd.exe样式变量无法工作。
因此,%DATE:/=-%-实际上是包含无效字符的字符串。您可以使用Get-Date cmdlet生成相同的日期格式。
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"https://stackoverflow.com/questions/50611184
复制相似问题