1、考虑下面的需求,把aaa目录下面的111.txt 拷贝到 bbb,如下:
echo on
xcopy .\aaa\111.txt .\bbb\ /y
pause
2、注意这里表示路径要用右斜杠,因为左斜杠表示命名的选项,如test.exe /f cfg.xml
3、考虑下面的需求,把aaa目录下面的111.txt 拷贝到 bbb,并且重命名为222.txt,如下:
echo on
xcopy .\aaa\111.txt .\bbb\222.txt /y
pause
执行过程,会提示
目标 .\bbb\222.txt 是文件名
还是目录名
(F = 文件,D = 目录)?
需要用户输入。
4、原因是,xcopy不知道222.txt是个文件还是目录?怎么解决这个问题,消除提示。
这就需要用户,显示地告诉xcopy,222.txt是目录还是文件。
如果希望222.txt是个目录,把111.txt拷贝到222.txt,修改为 xcopy .\aaa\111.txt .\bbb\222.txt\ /y
如果希望222.txt是个文件,也就是copy并且重命名,使用下面的方法,自动输入f 如下:
echo f| xcopy .\aaa\111.txt .\bbb\222.txt /y
原理是通道的概念,前一个命令的输出作为后一个命令的输入。echo f 输出f,xcopy 提示输入,前一个输出f作为xcopy的输入
当然希望222.txt是个目录,也可以使用echo d,如下:
echo d| xcopy .\aaa\111.txt .\bbb\222.txt /y