是否可以使用7zip独立文件(7za.exe)进行数据存档而无需更改路径变量?

时间:2015-07-24 11:30:44

标签: batch-file archive 7zip

我通过更改路径变量来测试本地计算机中的数据存档的批处理脚本,以引用7zip包的位置。

我使用以下代码执行存档。

7za a -tzip \\tm1data-studio-dev\wds\WDS_DISTRIBUTION_01\TM1\USER_FILES\Target\Archival_%DD%_%MM%_%YYYY%_%HH%_%MN%.zip \\tm1data-studio-dev\wds\WDS_DISTRIBUTION_01\TM1\USER_FILES\Intermediate\

有没有办法在不改变路径变量的情况下使用7za.exe?

提前致谢!

1 个答案:

答案 0 :(得分:0)

7za.exe 7-Zip 的独立版本,不需要任何其他DLL。

7za.exe存储在与批处理文件相同的目录中,我建议使用:

"%~dp0\7za.exe" a -tzip "\\tm1data-studio-dev\wds\WDS_DISTRIBUTION_01\TM1\USER_FILES\Target\Archival_%DD%_%MM%_%YYYY%_%HH%_%MN%.zip" "\\tm1data-studio-dev\wds\WDS_DISTRIBUTION_01\TM1\USER_FILES\Intermediate"
在批处理文件执行批处理文件时,命令行解释器将替换

%~dp0,批处理文件的路径以反斜杠结尾。通过在命令提示符窗口call /?中运行,输出此命令的帮助以解释%~dp0。如果批处理文件执行时的当前工作目录与批处理文件的目录和7za.exe不同,这将非常有用。

通过在命令提示符窗口中运行批处理文件并将第一行从@echo off修改为@echo on(如果存在的话),可以看到命令行解释器的作用。

此外,批处理文件中对环境变量的每个修改仅对批处理文件可见,并且所有应用程序都在此批处理文件中启动。 Windows在执行批处理文件时为命令解释程序创建整个环境变量表的副本。因此,npocmaka建议修改 PATH 是绝对安全的,因为只修改 PATH 的本地副本而不是系统变量 PATH