Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/arduino/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Parameters RoboCopy-以破折号开头的文件会导致错误_Parameters_Robocopy - Fatal编程技术网

Parameters RoboCopy-以破折号开头的文件会导致错误

Parameters RoboCopy-以破折号开头的文件会导致错误,parameters,robocopy,Parameters,Robocopy,我们正在将文件从一个共享迁移到另一个共享。我们构建了一个工具,用户可以在其中选择要复制到目标共享的目录和/或单个文件。该工具为用户选择的集合中的每个文件或目录生成一个单独的RoboCopy命令 如果要复制的单个文件以破折号开头,我们会遇到问题,例如: robocopy c:\temp c:\temp2 -a.txt RoboCopy退出:错误:无效参数3:-a.txt 我们尝试了文件名周围的常用引号等,但到目前为止似乎没有任何效果。你知道如何绕过这个问题,而不必在复制之前重命名文件吗?这似乎是

我们正在将文件从一个共享迁移到另一个共享。我们构建了一个工具,用户可以在其中选择要复制到目标共享的目录和/或单个文件。该工具为用户选择的集合中的每个文件或目录生成一个单独的RoboCopy命令

如果要复制的单个文件以破折号开头,我们会遇到问题,例如:

robocopy c:\temp c:\temp2 -a.txt
RoboCopy退出:错误:无效参数3:-a.txt
我们尝试了文件名周围的常用引号等,但到目前为止似乎没有任何效果。你知道如何绕过这个问题,而不必在复制之前重命名文件吗?

这似乎是robocopy中的一个bug;它还有其他一些已知的类似的例子:

这里有一个可能的解决方法:

robocopy c:\temp c:\temp2 *-a.txt /xf *?-a.txt
*-a、 txt仍将匹配-a.txt,但它也匹配x-a.txt、xx-a.txt等

/xf文件排除会将x-a.txt、xx-a.txt和任何其他包含字符的文件(特别是连字符前面至少有一个字符)剔除

我已经确认,即使c:\temp也包含以下文件,上述命令也将只匹配-a.txt:

other folder\-a.txt
-a.txt1
-a1.txt
x-a.txt
xx-a.txt
不过,我不是100%有信心,所以您可能需要想出一些其他文件名来测试它