从外部 PC 复制的批处理脚本

从外部 PC 复制的批处理脚本

我正在尝试编写一个批处理脚本,用于将 appdata 文件复制到我的 USB 驱动器...我认为(我不确定)如果在任何 PC 上插入我的 USB %appdata% 都可以用作默认路径,但对于每台 PC,USB 的驱动器号都会发生变化,那么分配这样一个直接与 USB 对应的路径的最佳方法是什么?我用于复制的命令是 xcopy,带有参数 /y /s

答案1

您的假定目标是保存命令文件的文件夹。下面只是告诉它从哪里获取内容。

复制 %appdata%*.*

或者

复制 c:\下载

如果您的批次在 USB X:\123 = 这是复制文件将存储的位置。

答案2

如果您将 CMD 文件存储在 USB 驱动器上并从那里运行它,那么您可以使用脚本的工作目录来帮助您。

CopyAppdataHere.cmd 的内容:

xcopy /y /s %appdata% %~dp0SomeFolder

在脚本中,%~dp0扩展到驱动器和 CMD 文件的路径(包括尾随的反斜杠),即使它不是活动的当前目录,也会将文件放在某个文件夹目录。

答案3

有很多方法。第一种方法是最简单的,即:

if exist=D:\Data\Teat.TXT goto :copy

只需沿着树运行,直到找到分配给您的 USB 的字母。

另一种方法是在批处理开始时有一个菜单选项,您可以在其中输入 USB 的字母并为其分配一个变量,然后在调用的脚本中使用该变量。

最后,如果您从 USB 运行,*.bat您应该能够引用设备路径,如果您愿意,我可以跟进这一点。

相关内容