Board logo

标题: [文件操作] 请问批处理%0\..\是什么意思? [打印本页]

作者: syh911231    时间: 2023-3-16 14:20     标题: 请问批处理%0\..\是什么意思?

在安装Office2019的批处理里看到这样写:
%0\..\setup.exe /configure %0\..\configoffice2019.xml

%0是批处理自身吧?
还有这个\..\是什么意思呢
%0\..\整个又是什么意思
为什么不用%~dp0呢

不好意思问题有点多,见谅,希望大神指点迷津,谢谢~
作者: Batcher    时间: 2023-3-16 14:50

回复 1# syh911231


..表示上一级目录,参考:批处理常用符号详解
http://bbs.bathome.net/thread-1205-1-1.html#pid25363

单就这一行代码来说,用%~dp0也行。
作者: syh911231    时间: 2023-3-16 18:17

回复 2# Batcher


    非常感谢,但是我还是不太理解,麻烦帮忙解惑:
1、这里的%0不影响语句的正常执行吗
2、如果..表示上一级目录,那这条语句是怎么被解释成当前目录的呢
作者: cbbos    时间: 2023-3-16 18:35

这段代码是一个批处理文件中的命令,可以用于执行Office 2019安装程序的自定义配置,其中:

%0 是批处理文件本身的名称和路径。例如,如果批处理文件名为 install.bat 并且位于 C:\Downloads 文件夹中,则 %0 将会被替换为 C:\Downloads\install.bat。

\.. 是一个特殊的语法,表示“上一级目录”。因此,%0\..\setup.exe 将被解析为与批处理文件在同一目录下的 setup.exe 文件的完整路径。

/configure 是一个参数,用于指示 Office 2019 安装程序启动时应该执行自定义配置。

%0\..\configoffice2019.xml 是一个 XML 配置文件的完整路径,它包含了 Office 2019 自定义配置的详细信息。在这个例子中,这个文件位于与批处理文件相同的目录中,并且使用了相对路径来引用。

因此,该命令的作用是在当前目录中查找 setup.exe 文件并使用指定的自定义配置文件(configoffice2019.xml)来运行 Office 2019 安装程序。

看起来很详细
作者: Batcher    时间: 2023-3-16 22:12

回复 3# syh911231


假设bat文件是:
C:\MSDN\Office\Install.bat

%0\..相当于:
C:\MSDN\Office

%0\..\setup.exe也就相当于:
C:\MSDN\Office\setup.exe

类似用法举例:

作者: syh911231    时间: 2023-3-17 10:14

感谢两位,非常详细,已经理解了~




欢迎光临 批处理之家 (http://bbs.bathome.net/) Powered by Discuz! 7.2