如何在不将批处理文件复制到 c 中的 7zip 文件夹的情况下运行 7zip 批处理
Posted
技术标签:
【中文标题】如何在不将批处理文件复制到 c 中的 7zip 文件夹的情况下运行 7zip 批处理【英文标题】:How to run a 7zip batch without copying the batch file to the 7zip folder in c 【发布时间】:2014-06-23 10:56:05 【问题描述】:我创建了一个批处理文件来压缩我的备份,但只有将批处理文件复制到 C 盘上的 7zip.exe 文件夹时,批处理文件才有效;否则它不起作用。如何从任何位置运行我的批处理文件?
这是我的命令:
7z a -mhe -p1234 -t7z "D:\Batch test\2\%datetimef%.7z" "D:\Batch test\1*.*" -mx0
【问题讨论】:
【参考方案1】:PATH %PATH%;"c:\7ZIP";
7z a -mhe -p1234 -t7z "D:\Batch test\2\%datetimef%.7z" "D:\Batch test\1*.*" -mx0
c:\7zip
是 7zip 所在的文件夹。
问题是您的7z.exe
不在您的PATH 变量中,无法找到和执行。当它在同一目录中时,可以找到并且执行没有问题。出于脚本目的您可以使用PATH
命令编辑 %PATH% 变量,也可以通过环境变量进行编辑。
【讨论】:
你能澄清你的答案吗?为什么这个命令会起作用,为什么 OP 的命令不起作用? 有一个永久的方法来设置 %PATH% var: Setx PATH "C:\7ZIP;%PATH%;"【参考方案2】:您可以像这样放置 7z 二进制文件的完整路径:
"c:\7zip"\7z a -mhe -p1234 -t7z "D:\Batch test\2\%datetimef%.7z" "D:\Batch test\1\*.*" -mx0
您明确告诉解释器在哪里查找二进制文件。
【讨论】:
以上是关于如何在不将批处理文件复制到 c 中的 7zip 文件夹的情况下运行 7zip 批处理的主要内容,如果未能解决你的问题,请参考以下文章
使用 7zip 命令将目录中的文件归档到单个 zip [关闭]
如何在不将其备份到 iCloud 的情况下为我的应用程序提供演示数据?