获取未知文件名以批量压缩文件
get unknown filename to zip the file in batch
我正在寻找一种压缩文件名未知的文件的方法。我正在努力研究如何将文件名放入我的变量中。
这是我的代码:
set HOST=%1
set DRIVELTR=%2
set OMGEVING=%3
FOR %%i IN (\%HOST%\%DRIVELTR%$\%OMGEVING%\*.*) DO set filename="%%~i"
"C:\program files-zipz.exe" a -r -sdel \%HOST%\%DRIVELTR%$\%OMGEVING%\filename.zip \%HOST%\%DRIVELTR%$\%OMGEVING%\filename.txt
FOR %%i IN ("\%~1\%~2$\%~3\*.*") DO (
"C:\program files-zipz.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-zipz.exe" a -r -sdel "%%~dpni.zip" "%%~fi"
)
我正在寻找一种压缩文件名未知的文件的方法。我正在努力研究如何将文件名放入我的变量中。 这是我的代码:
set HOST=%1
set DRIVELTR=%2
set OMGEVING=%3
FOR %%i IN (\%HOST%\%DRIVELTR%$\%OMGEVING%\*.*) DO set filename="%%~i"
"C:\program files-zipz.exe" a -r -sdel \%HOST%\%DRIVELTR%$\%OMGEVING%\filename.zip \%HOST%\%DRIVELTR%$\%OMGEVING%\filename.txt
FOR %%i IN ("\%~1\%~2$\%~3\*.*") DO (
"C:\program files-zipz.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-zipz.exe" a -r -sdel "%%~dpni.zip" "%%~fi"
)