我的目标是创建一个批处理文件,将 zip 文件的内容提取到单独的目录中。与此问题相关的每个文件都位于同一个闪存驱动器上。
以下命令适用于驱动器号i:\
**i:\7z x i:\zips\new_app.zip -oi:\apps\new_app**
如果我将闪存驱动器放入另一台计算机,并且驱动器号不是i:\
或或,f:\
会发生什么情况g:\
q:\
我可以创建某种变量吗?
答案1
替换I:\
为%CD%
。%CD%
环境变量保存当前目录路径。
%CD%\7z x %CD%\zips\new_app.zip -o%CD%\apps\new_app
双击批处理文件后,它将在其所在的目录中启动。如果批处理文件位于 USB 棒的根目录中,%CD%
则将设置为I:\
或 USB 棒安装为的任何驱动器号。
答案2
如果从 USB 驱动器运行 .BAT 文件,则无需指定驱动器号,只需指定相对于 .BAT 文件的路径和/或文件。
例如:如果 Unzip.BAT 位于 USB 驱动器的根目录中,而 .zip 位于名为“secret”的文件夹下的名为“classified docs”的文件夹中,则
\secret\classified docs\
答案3
可以在文件夹结构中使用此设计:
"%cd:~0,2%\<full path>"