Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vba 7zip命令行版本:如何将每个文件从批处理文件压缩到单独的存档中_Vba_Cmd_7zip - Fatal编程技术网

Vba 7zip命令行版本:如何将每个文件从批处理文件压缩到单独的存档中

Vba 7zip命令行版本:如何将每个文件从批处理文件压缩到单独的存档中,vba,cmd,7zip,Vba,Cmd,7zip,我有以下命令: for %f in (*.txt) do "C:\WINDOWS\7za.exe" a -t7z "%f.7z" "%f" 我从vba脚本将其发送到cmdprompt。这是可行的,但现在我必须包括执行压缩的文件夹的路径。我这样做: for %f in (usebackq "C:\Bob\WithBlank\NeuerOrdner3\" *.txt) do "C:\WINDOWS\7za.exe" a -t7z "%f.7z" "%f" 为什么我只得到一个包含所有*.txt文件

我有以下命令:

for %f in (*.txt) do "C:\WINDOWS\7za.exe" a -t7z "%f.7z" "%f"
我从vba脚本将其发送到cmdprompt。这是可行的,但现在我必须包括执行压缩的文件夹的路径。我这样做:

for %f in (usebackq "C:\Bob\WithBlank\NeuerOrdner3\" *.txt) do "C:\WINDOWS\7za.exe" a -t7z "%f.7z" "%f"

为什么我只得到一个包含所有*.txt文件的zip文件,而不是每个txt文件一个zip文件?

我不知道为什么您的第二个命令行将所有文件放在一个归档文件中,但是
usebackq
不属于括号内。这应该起作用:

for %f in ("C:\Bob\WithBlank\NeuerOrdner3\*.txt") do (
  "C:\WINDOWS\7za.exe" a -t7z "%~dpnf.7z" "%~ff"
)
从.BAT文件运行它:

for %%a in (*.xml) do "\Program Files\7-Zip\7z.exe" a "%%~na.7z" "%%a"

7z文件将具有与原始文件相同的名称

尝试过它,只是什么都没有发生。甚至没有错误消息?当我在powershell中尝试时,我会得到“缺少打开”(“在关键字“for.”之后)。为什么!@Lumpi,因为CMD不是powershell。如果你在CMD中运行我的代码,但它没有做任何事情,那么要么你的路径不存在,要么它不包含.txt文件。