【问题标题】: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"
    )
    

    在哪里

    • %~1%~3 是不带引号的批处理文件的参数

    • %%~dpni%%i 引用的文件的驱动器、路径和名称(不带扩展名)

    • %%~fi%%i引用的文件的完整路径

    注意:由于 .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"
    )
    

    【讨论】:

    • 感谢您的快速响应。我稍后会尝试。
    猜你喜欢
    • 2014-04-19
    • 1970-01-01
    • 2013-11-16
    • 2017-12-16
    • 1970-01-01
    • 1970-01-01
    • 2013-10-28
    • 1970-01-01
    • 2017-06-02
    相关资源
    最近更新 更多