Powershell 在Power shell脚本Gui中无缝执行Robocopy(!)

Powershell 在Power shell脚本Gui中无缝执行Robocopy(!),powershell,robocopy,Powershell,Robocopy,尝试使用Powershell备份一些大型目录新手 这条线不行 "C:\Robocopy\RoboCopy.exe" $source $destination "/E /R:10 /W:5 /V /ETA" Robocopy最多只能执行(取决于“我放在这里或那里…”),但启动的是它的GUI(没有更多的操作) $dest和$source没有问题(我设法登录到一个txt文件,他的工作正常) 谢谢你使用这个: & "C:\Robocopy\RoboCopy.exe" $source $dest

尝试使用Powershell备份一些大型目录新手

这条线不行

"C:\Robocopy\RoboCopy.exe" $source $destination "/E /R:10 /W:5 /V /ETA"
Robocopy最多只能执行(取决于“我放在这里或那里…”),但启动的是它的GUI(没有更多的操作)

$dest和$source没有问题(我设法登录到一个txt文件,他的工作正常)

谢谢你使用这个:

& "C:\Robocopy\RoboCopy.exe" $source $destination /E /R:10 /W:5 /V /ETA
如果希望PowerShell将带引号的字符串作为命令运行,则需要
&
(调用)运算符

在这种特定情况下,不需要引号,因为可执行文件的路径和文件名不包含空格,因此您可以只写以下内容:

C:\Robocopy\RoboCopy.exe $source $destination /E /R:10 /W:5 /V /ETA
但是
robocopy.exe
真的位于
C:\robocopy
?你有那个目录名吗?
robocopy.exe
是操作系统附带的工具,应该已经在路径中了。为什么不只是这个

robocopy $source $destination /E /R:10 /W:5 /V /ETA

不要引用从
/E
开始的参数。只需将它们放在
$destination
变量后面,不加引号即可。谢谢,但仍然不起作用。以您这样做的方式引用所有参数肯定不起作用,因为这意味着您将整个带引号的字符串作为单个参数传递。当您说“仍然不工作,“您需要明确说明它是如何工作的。打开PowerShell提示符并键入命令,然后观察其行为。此外,要在PowerShell中运行带引号的可执行文件名,必须在带引号的字符串命令前面加上
&
(call)运算符。