SBS*_*STP 24 windows batch-file
我有一个批处理文件,它位于usb密钥上.我需要知道批处理所在的驱动器名称.
例如,如果它是E:\ mybatch.bat,它应该在F:\,G:\ etc ..当它打开时找到E:\相同的东西.
我怎么能在批处理脚本中这样做.(视窗)
Joh*_*hey 38
%CD%是你在找什么.它打印批处理文件的当前工作目录或运行它的命令.如果您的批处理文件位于驱动器的根目录下,它将只打印驱动器号,否则您将需要解析前2个字符.
例:
echo %CD%
Run Code Online (Sandbox Code Playgroud)
版画
E:\
Run Code Online (Sandbox Code Playgroud)
在安装到E:的闪存驱动器上.
更新:正如Andriy在评论中所说,如果您只是寻找路径的前三个字符,那么使用它而不是%CD%:
%CD:~0,3%
Run Code Online (Sandbox Code Playgroud)
E:\例如,这将导致驱动器上的任何位置.
这个问题的现有答案不承认这个问题实际上是在问两个不同的事情:
当批处理文件从其驻留位置以外的工作目录启动时,这些可能会有所不同。因此,读者在确定哪种解决方案与他们的案例相关之前应该清楚区别。
%CD:~0,2%
Run Code Online (Sandbox Code Playgroud)
这将获取完整的当前工作目录并将其修剪为前两个字符,这将是一个驱动器号和一个冒号,例如C:.
%~d0
Run Code Online (Sandbox Code Playgroud)
这会将批处理文件 (in %0)的完整路径修剪为一个驱动器号和一个冒号,例如C:.