有的时候,我们可能需要替换某些目录下的一些文件,手动去一个个目录找的话,就会比较麻烦,这时候,就是我们程序员上场的时候了,程序虽然好写,但是dos命令并不是每个人都玩的转的,而且最令人厌烦的事是Linux和Dos命令差别极大,Linux上一条cp -f A B的命令,DOS下可不简单。
下面介绍一下DOS复制文件的命令:

xcopy C:\info.txt D:\  /Y

取消提示以确认要覆盖现有目标文件。

C:\info.txtD:\/Yxcopy C:\info.txt D:\D:\/Y

说完了DOS命令,再来谈谈,程序如何执行,这里拿PHP举例,毕竟是老本行
PHP执行命令有一个函数exec(),将命令输入到里面就可以了,比如:

<?php
$cmd = "xcopy C:\info.txt D:\  /Y";
exec($cmd);

如果是同一目录下,又该怎么写呢, 这里举个特殊例子,有一个名字叫做170tu的目录,其实就是以数字开头的目录

<?php
$cmd = "xcopy .\a.txt .\170tu\  /Y";
exec($cmd);

170tu是程序当前目录下的一个子目录,执行之后,发现没有任何变化,单拿出来这条命令,手动去执行,却发现可以执行成功,哪里出错了呢?
这是不妨打印一下

<?php
$cmd = "xcopy .\a.txt .\170tu\  /Y";
echo $cmd;
die; // 打个断点
exec($cmd);

输出结果如下:

xcopy .\a.txt .xtu\  /Y
\
$cmd = "xcopy .\\a.txt .\\170tu\\  /Y";

这样就不会出现转义的错误了,当然Linux下用/表是地址分割符,这样的区别也得留意