如何在任何目录中的任何计算机上使用批处理文件

时间:2019-07-02 09:28:36

标签: batch-file

我的目录包含以下O365安装文件

C:\O365\Office\Data\version\

我创建了一个非常基本的批处理文件,以执行以下命令来设置O365。

@echo off
C:\O365\Office\Setup.exe /configure C:\O365\Office\Configure-O365PP.xml

如果O365文件夹位于C:\

,我可以运行批处理文件

但是,如果我要将批处理文件和整个O365文件夹复制到另一台PC上,并将其保存在台式机或D盘上。那么,如何在不更改批处理文件内部目录的情况下仍运行批处理文件?

批处理文件位于目录C:\O365\Office\Data\version\O365.bat的最后一个子文件夹

我不知道要更改什么来替换批处理文件中的C:\,以便无论O365文件夹将保存到Desktop还是D或任何地方,我都可以在任何地方使用它。

有人可以帮忙吗?

PS:我不想将O365.bat与setup.exe放在同一文件夹中。

我只想将O365.bat放入最后一个子文件夹。

Edit1 :我根据Stephan的建议编辑了批处理文件。

将批处理文件中的命令更改为

%~dp0..\..\Setup.exe" /configure "%~dp0..\..\Configure-O365PP.xml

批处理文件开始工作。我可以复制到任何文件并执行批处理文件。

然后,我使用“ iexpress”将该批处理文件转换为.exe文件。

转换为.exe文件后,以上命令不再起作用。 它无法执行命令。

转换为.exe文件后如何使其工作?

第二版:在@sst的建议下,我可以使用以下命令将批处理文件转换为.EXE

%~dp0..\..\Setup.exe" /configure "%~dp0..\..\Configure-O365PP.xml

然后在iexpress中的安装命令中输入cmd /c O365.bat "#e"

1 个答案:

答案 0 :(得分:0)

%~dp0是批处理文件的完整路径。

C:\O365\Office\Data\version\

从这里可以使用相对路径:

"C:\O365\Office\Setup.exe" /configure "C:\O365\Office\Configure-O365PP.xml"

将更改为

      "%~dp0..\..\Setup.exe" /configure "%~dp0..\..\Configure-O365PP.xml"

其中..是“一个文件夹向上”

假设您将其复制到用户桌面,则批处理文件的位置%~dp0

C:\Users\someone\desktop\O365\Office\Data\version\

两个是

C:\Users\someone\desktop\O365\Office\

(分别是setup.exeXML居住)

"%~dp0..\..\Setup.exe" /configure "%~dp0..\..\Configure-O365PP.xml"

然后将执行为

"C:\Users\someone\desktop\O365\Office\Setup.exe" /configure "C:\Users\someone\desktop\O365\Office\Configure-O365PP.xml

通过阅读%~的输出来了解有关这些call /?修饰符的更多信息