如何读取源文件的名称并使用 cmd 存档选项将其作为 7zip 中的存档名称发送。
现在我使用:
7z a -t7z V:\archive.7z V:\Backup\*.bak
我想检查 bak名称文件V:\Backup
(总是只有 1 个文件)并将其发送为archive.7z
- 例如,如果 inV:\Backup
是 1 个名为"20131028_1100.bak"
我想命名存档的文件"20131028_1100.7z"
如何读取源文件的名称并使用 cmd 存档选项将其作为 7zip 中的存档名称发送。
现在我使用:
7z a -t7z V:\archive.7z V:\Backup\*.bak
我想检查 bak名称文件V:\Backup
(总是只有 1 个文件)并将其发送为archive.7z
- 例如,如果 inV:\Backup
是 1 个名为"20131028_1100.bak"
我想命名存档的文件"20131028_1100.7z"
你需要一个 .bat 脚本来执行这样的 FOR 命令: for %%X in (*) do "7zip\App\7-Zip\7z.exe" a "%%~nX.zip" "%%X"
%%X 将捕获您将执行脚本的文件夹中包含的每个文件的文件名(在本例中为 V:\Backup\ 并且只会处理 1 个文件),因此 %%~nX.zip 将采用该文件姓名
7zip 将源文件名保存到存档
正如“capa”所说,必须使用 shell 命令,因为 7zip 没有针对这种情况提供命令。以下编辑的命令可用于操作 *.bak 文件,它适用于“7z”压缩扩展。它在压缩率上比“zip”格式更有效。
7z 格式 FOR %%I IN ( .bak) DO "c:\Program Files\7-Zip\7z.exe" a -t7z %%~nI.7z %%~nI.
zip 格式 FOR %%I IN ( .bak) DO "c:\Program Files\7-Zip\7z.exe" a -tZip %%~nI.zip %%~nI.
在上述命令中,.bak 之前的“*”符号没有出现。请添加!还要在每个命令的末尾添加“*”。
*在 *.bak 文件目录上创建一个“bat”文件,例如“compressbak.bat”,复制并粘贴首选命令(7z 或 zip),“保存”“compressbak.bat”中的内容!这将在 *.bak 文件保存的同一文件夹中创建 *.bak 文件的命名存档。此外,如果您在 Windows x64 上运行并且您拥有 x86 版本的 7-Zip,您必须遵循正确的路径才能调用 7z.exe 文件。“c:\Program Files (x86)\7-Zip\7z.exe”
希望对你有帮助!!!