【问题标题】:get unknown filename to zip the file in batch获取未知文件名以批量压缩文件
【发布时间】:2015-04-21 12:02:13
【问题描述】:
我正在寻找一种方法来压缩具有未知文件名的文件。我正在努力研究如何将文件名放入我的变量中。
这是我的代码:
set HOST=%1
set DRIVELTR=%2
set OMGEVING=%3
FOR %%i IN (\\%HOST%\%DRIVELTR%$\%OMGEVING%\*.*) DO set filename="%%~i"
"C:\program files\7-zip\7z.exe" a -r -sdel \\%HOST%\%DRIVELTR%$\%OMGEVING%\filename.zip \\%HOST%\%DRIVELTR%$\%OMGEVING%\filename.txt
【问题讨论】:
标签:
windows
batch-file
zip
【解决方案1】:
FOR %%i IN ("\\%~1\%~2$\%~3\*.*") DO (
"C:\program files\7-zip\7z.exe" a -r -sdel "%%~dpni.zip" "%%~fi"
)
在哪里
注意:由于 .zip 文件是在被迭代的同一文件夹中生成的,for 循环可能会检索到新的 .zip 文件。如果不能缩小通配符或在别处生成.zip文件,可以在尝试压缩文件之前检查文件扩展名是否为.zip
FOR %%i IN ("\\%~1\%~2$\%~3\*.*") DO if /i not "%%~xi"==".zip" (
"C:\program files\7-zip\7z.exe" a -r -sdel "%%~dpni.zip" "%%~fi"
)