batch-file - 在不知道驱动器盘符的情况下复制文件

标签 batch-file cmd

我正在尝试让新 PC 的设置变得更容易,并开始尝试复制组策略。我将所有指令(复制文件夹和执行文件)放在 .bat 中,但现在我遇到的问题是它仅在我使用的驱动器盘符为 时有效>E:\。有什么方法可以动态调整驱动器号而不是硬编码吗?

这只是几行代码,因为大部分代码都发生在 .exe

xcopy "E:\LGPO" "C:\LGPO\" /s/h/e/k/f/c
cd C:\LGPO
lgpo.exe /g C:\LGPO\backup

最佳答案

只需复制到脚本所在的路径即可。本例usb uaed(驱动器),同样使用/d 使用 cd 命令,当您更改驱动器时。

xcopy "%~d0\LGPO" "C:\LGPO\" /s/h/e/k/f/c
cd /d C:\LGPO
lgpo.exe /g C:\LGPO\backup

cd/? 指定:

Use the /D switch to change current drive in addition to changing current directory for a drive.

变量 %~d0 将使用批处理文件路径的驱动器,其中 %~dp0 是驱动器\路径。所以在这种情况下,你的批处理文件在文件夹里面,我们只需要使用驱动器%~d0

关于batch-file - 在不知道驱动器盘符的情况下复制文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52329490/

相关文章:

java - 用java写入.bat文件

windows - 从文本文件中读取变量

powershell - 使用批处理文件 (.bat) 运行 PS1 脚本

java - 用批量问题替换程序

linux - 如何从 linux 系统在 windows 中运行 bat 文件

java - 在 Java 中启动连接的 telnet cmd 窗口

cmd - 如何覆盖 docker run 行中的 CMD 命令

windows - 将文件夹移动到自己的第一个字母目录中

batch-file - 路径中有空格的 FORFILES

windows - 如何按照用户输入指定的次数运行命令?