将7zip,Zip文件批处理成没有任何文件夹的存档

时间:2019-02-27 03:34:56

标签: batch-file 7zip

我是新手,现在正在练习创建自动化脚本。我现在正坚持这一点。我希望压缩文件仅包含tm_user.data,但是我的代码会将其归档为Fame \ tm_user.data。如果您能帮助我,我将不胜感激。

变量

set default_folder_name=Main Folder
set tm_folder_name=TM Folder
set local_dir=C:\%default_folder_name%
set tm_dir=%local_dir%\%tm_folder_name%

主体

set /p id="Enter ID: "
set d = "tm_user.data"

if exist "%tm_dir%\%id%\Fame\%d%" (
    "C:\Program Files\7-Zip\7z.exe" a -tzip "%tm_dir%\%id%\Fame\%id%_fame.zip" "%tm_dir%\%id%\Fame\%d%"
    echo Process completed...
    timeout 2
    start "launch folder" "%tm_dir%\%id%\Fame"
    exit
) else (
        echo Error: %d% not found, please try again later!!
        timeout 5
        exit
    )
)

1 个答案:

答案 0 :(得分:1)

批处理文件的一些最佳做法。

  1. 请勿在{{1​​}}命令中的等号两侧放置空格。等号符号前的空格成为变量名称的一部分,等号后的空格被分配给变量。
  2. 请勿为变量分配引号,而应使用引号将其括起来以保护特殊字符并防止在变量末尾添加尾随空格。

我选择使用SETPUSHD命令。 POPD命令设置工作目录并将先前的目录存储在堆栈中。 PUSHD命令返回到先前存储的目录。使用此技术,您不必在7zip命令中指定路径。

POPD