Board logo

标题: [文件操作] 【已解决】批处理如何将目录下的所有内容复制到指定文件夹下? [打印本页]

作者: tangqingfu    时间: 2013-5-16 15:44     标题: 【已解决】批处理如何将目录下的所有内容复制到指定文件夹下?

本帖最后由 tangqingfu 于 2013-5-16 21:09 编辑

如何编写一个名为“启动.bat”的bat代码,使之在运行“启动.bat"后,能将”启动.bat"所在目录的其他所有内容(含子目录及子目录下的所有内容)复制到指定文件夹下(如:D:\test中)?
作者: apang    时间: 2013-5-16 16:25

  1. xcopy "%~dp0*" d:\test\ /s /y
复制代码

作者: tangqingfu    时间: 2013-5-16 17:28

回复 2# apang


谢谢,测试通过!
请教“%~dp0*”中的“*”是什么意思?
“%~sdp0”表示当前执行的bat文件所在的目录
“%~sdp0*”是否表示当前执行的bat文件所在的目录的所有内容?不知哪里可以找到这样的相关资料?
作者: apang    时间: 2013-5-16 18:24

回复 3# tangqingfu


    *就是通配符,一般写成*.*,我是偷懒的写法。

至于哪里有通配符的教程,这个还真没在意,估计你多用用就会啦。
作者: tangqingfu    时间: 2013-5-16 18:28

谢谢apang兄的指点!
作者: tangqingfu    时间: 2013-5-16 18:31

回复 3# tangqingfu


    谢谢apang兄,请教删除指定文件夹(即将该文件夹干掉)的代码该如何编写,比如说我要将D:\test这个文件夹删除的代码是什么?
作者: tangqingfu    时间: 2013-5-16 18:32

回复 4# apang
谢谢apang兄,请教删除指定文件夹(即将该文件夹干掉,而不是仅删除该文件夹下的所有内容)的代码该如何编写,比如说我要将D:\test这个文件夹删除的代码是什么?
作者: apang    时间: 2013-5-16 18:38

回复 7# tangqingfu
  1. rd "d:\test\" /s /q
复制代码
http://www.bathome.net/thread-13798-1-1.html 建议你到这里去学习,很有用的。
作者: tangqingfu    时间: 2013-5-16 18:49

本帖最后由 tangqingfu 于 2013-5-16 18:51 编辑

回复 8# apang
刚刚自己也试验成功了!还是要感谢兄台!
现在还有一个问题,如何编写代码,做到删除自身的同时,还能删除bat文件所在的文件夹,即删除该文件夹?
  1. cd.. & rd /s /q "%~dp0"
复制代码
用上面的代码,文件夹还保留,不能删除干净
作者: tangqingfu    时间: 2013-5-16 19:15

回复 8# apang
谢谢apang兄的推荐!
还有一个问题,能否请兄台帮解决
  1. cd.. & rd /s /q "%~dp0"
复制代码
如何编写代码,做到删除自身的同时,还能删除bat文件所在的文件夹,即删除该文件夹?
用上面的代码,文件夹还保留,不能删除干净
作者: terse    时间: 2013-5-16 19:49

  1. SET DP="%CD%"
  2. cd.. & rd /s /q %DP%
复制代码

作者: tangqingfu    时间: 2013-5-16 20:15

本帖最后由 tangqingfu 于 2013-5-16 20:24 编辑

回复 11# terse
测试通过,能否请terse兄解释一下用法?
作者: apang    时间: 2013-5-16 20:18

奇怪
cd.. & rd /s /q "%~dp0"
win7测试是可以删除自身及其所在文件夹的
作者: tangqingfu    时间: 2013-5-16 20:23

回复 13# apang d
在WinXP中不能删除文件夹本身,用楼上的代码可以,不是太明白两者的不同,正在网上查找两者的不同之处




欢迎光临 批处理之家 (http://www.bathome.net/) Powered by Discuz! 7.2