【发布时间】:2016-08-16 13:37:45
【问题描述】:
我目前正在使用一个旧脚本,该脚本在我查看它之前就已经存在,前提是自动创建一个文件夹并将闪存驱动器的内容复制到 C: 驱动器中。以下是我关心的脚本部分:
xcopy "E:\directory" "c:\directory" /s /y
这是我现在拥有的脚本,目前我几乎每次插入新设备时都需要更改第一个目录条目,因为脚本中出现的驱动器号有时与本地的不同设备。例如,UBS 驱动器在笔记本电脑上是 D:,但在大多数台式机上是 E:,或者在具有多个外围设备的设备上是其他字母。
以前的脚本看起来像这样:
xcopy "...\directory" "c:\directory" /s /y
这不起作用,因为 .bat 文件将无法在 UBS 驱动器上找到所述目录。当我手动将 .bat 文件更改为硬设置 USB 驱动器号时,一切正常,所有目录复制,后续脚本运行正常。
我的问题,关于如何设置 xcopy 脚本以识别动态 USB 驱动器号并允许复制而无需更改每个设备上的脚本的任何想法?
谢谢!
【问题讨论】:
-
等一下!批处理文件存储在哪里?它是存储在 USB 驱动器上并通过双击从那里执行,还是存储在本地硬盘驱动器上?如果批处理文件存储在 USB 驱动器上并通过双击从那里执行,请使用
xcopy "\directory" "c:\directory" /s /y,因为以反斜杠开头的路径相对于 当前驱动器的根目录 或使用 @987654322 @ 因为%~d0引用了第一个参数的驱动器(字母加冒号) - 批处理文件。或者使用%~dp0- 以\结尾的批处理文件的驱动器和路径。
标签: batch-file xcopy usb-drive