7Zip 更好的策略通过命令行将一个文件压缩在一个 7z 文件中
7Zip better strategy to compress one file in one 7z file by command line
我写了一个Windows批处理文件来压缩我在他们文件夹中的原始文件并删除原始文件,它工作正常:
@echo off
for /f %%x in ('dir /A:-d /s /b /ad') do (
cd %%x
for /f %%f in ('dir /A:-d /s /b') do (
echo %%f
7z.exe a -sdel -xr!*.7z "%%f.7z" "%%f"
)
cd ..
)
有没有更简洁的方法来完成这个任务?
我有这个文件夹结构:
c:\
\---joe
+---a
| test1.txt
| test2.txt
|
+---b
| test3.txt
|
\---c
test4.txt
我希望的结果是:
c:\
\---joe
+---a
| test1.txt.7z
| test2.txt.7z
|
+---b
| test3.txt.7z
|
\---c
test4.txt.7z
单行应该做:
for /r "C:\joe" %%a in (*.txt) do 7z.exe a -sdel -xr!*.7z "%%a.7z" "%%a"
for /r "startfolder"
定义递归搜索的起始文件夹。
如果 7z.exe
不在 %PATH%
或当前目录中,请不要忘记提供 7z.exe
的路径。
我写了一个Windows批处理文件来压缩我在他们文件夹中的原始文件并删除原始文件,它工作正常:
@echo off
for /f %%x in ('dir /A:-d /s /b /ad') do (
cd %%x
for /f %%f in ('dir /A:-d /s /b') do (
echo %%f
7z.exe a -sdel -xr!*.7z "%%f.7z" "%%f"
)
cd ..
)
有没有更简洁的方法来完成这个任务?
我有这个文件夹结构:
c:\
\---joe
+---a
| test1.txt
| test2.txt
|
+---b
| test3.txt
|
\---c
test4.txt
我希望的结果是:
c:\
\---joe
+---a
| test1.txt.7z
| test2.txt.7z
|
+---b
| test3.txt.7z
|
\---c
test4.txt.7z
单行应该做:
for /r "C:\joe" %%a in (*.txt) do 7z.exe a -sdel -xr!*.7z "%%a.7z" "%%a"
for /r "startfolder"
定义递归搜索的起始文件夹。
如果 7z.exe
不在 %PATH%
或当前目录中,请不要忘记提供 7z.exe
的路径。