批处理文件复制文件夹并将其粘贴到运行批处理文件的位置

时间:2014-06-20 14:45:14

标签: batch-file copy paste

这是一个基于批处理的技能要求的程序 那用于备份数据

批处理文件存储在可移动设备上,如:

USB闪盘 闪存驱动器 SD卡(存储卡)

批处理文件执行时,必须收集位于" X"

D:/音乐

必须将此文件夹中的所有数据复制到批处理文件所在的位置

如果批处理文件位于这些点中的任何一个

E:/ F:/ G:/ 甚至 Z:/

批处理操作应该知道它的位置并复制音乐文件夹并将其粘贴到运行批处理文件的位置

通过USB连接时,我的设备有时会发生变化 (E:/音乐) (F:/音乐) 批处理文件根文件夹

PC E:/音乐(固定位置)

代码 批量复制E:/ music中的所有内容 批量粘贴所有内容以驱动E:/或F:/ 没有错误 批处理文件必须知道它在哪里

你能帮我解决这个非常有用和足智多谋的问题,因为我可以将内容保存到我的设备及其非常小的

1 个答案:

答案 0 :(得分:0)

这个简单的批处理文件完成了这项任务:

@echo off
if exist "D:\music\*" (
   echo Deleting %~d0\music ...
   rd /S /Q "%~d0\music" 2>nul
   echo Copying D:\music to %~d0\music ...
   xcopy  "D:\music\*" "%~d0\music" /S /E /C /I /Q /H /K
   echo Folder D:\music copied to drive %~d0
   pause
)

我使用在命令提示符窗口中运行命令打印的信息:

  • cmd /? ...输出命令 CMD 的帮助,它是批处理文件的解释器,并列出命令行解释器 CMD 的内部命令。
  • for /? ...输出命令 FOR 的帮助,其中包含~d的信息,以便从{{1}引用的批处理文件的参数0之类的字符串中获取驱动器}这是带路径的批处理文件的名称。
  • %0 ...输出命令 RD 的帮助,其中包含有关如何以静默方式删除整个目录树的信息。
  • rd /? ...输出命令 XCOPY 的帮助,其中包含有关如何以静默方式复制整个目录树的信息。

命令 RD 用于在从源目录复制文件之前首先删除可移动媒体上的目标目录,以避免混合使用新旧文件夹和文件。

命令 XCOPY 用于将xcopy /?的整个目录树复制到几乎完全无声的可移动媒体。只输出复制文件的总数,我认为很好看。