Batch file 使用7 zip命令行提取时重命名文件

Batch file 使用7 zip命令行提取时重命名文件,batch-file,command-line,7zip,Batch File,Command Line,7zip,我正在使用以下命令解压缩文件: "C:\Program Files\7-Zip\7z.exe" x "\\server\folder\backup.gz" -aoa "-o\\server\folder\" 我已经在7-zip帮助部分,使用-aoa的示例并不十分清楚。使用谷歌,我可以在一个名为sevenzip的网站上看到解决方案,但它不可用。我还认为我可以使用rn命令,但我不知道该放在哪里 我自己也在寻找解决办法。当然,仅当您只提取一个文件时,将文件提取为完全不同的文件名才有意义 我最后做的是

我正在使用以下命令解压缩文件:

"C:\Program Files\7-Zip\7z.exe" x "\\server\folder\backup.gz" -aoa "-o\\server\folder\"

我已经在7-zip帮助部分,使用-aoa的示例并不十分清楚。使用谷歌,我可以在一个名为sevenzip的网站上看到解决方案,但它不可用。我还认为我可以使用rn命令,但我不知道该放在哪里

我自己也在寻找解决办法。当然,仅当您只提取一个文件时,将文件提取为完全不同的文件名才有意义

我最后做的是提取到标准输出(
-so
),并将输出重定向到所需的名称:

  7z e my-compressed-file.7z -so readme.txt > new-filename.txt

对Mark的脚本进行了一些调整。用于更高级的用途

for %%f in (folder\*.7z) do (7z e "%%f" -so -r *filename1*.jpeg *filename2*.jpg > tmp\%%f.jpg)
  • 现在循环浏览(文件夹\*.7z)中%%f的多个源文件
  • 带有可选子文件夹的源文件的通配符
    文件夹\*.7z
  • 多个带有通配符的特定提取文件
    *filename1*.jpeg*filename2*.jpg
  • 在源文件内递归搜索
    -r
  • 输出文件与输入源文件命名相同,具有可选子文件夹
    tmp\%f.jpg

访问帮助站点没有问题。
-aoa
开关覆盖。如果提取的文件已存在于目标目录中,则
-aou
会重命名该文件。
-aot
重命名目标目录中的现有文件。对不起,我指的是这个网站,它似乎有更全面的答案。7zip网站与帮助文档非常相似。如果使用-aou,我应该在哪里指定要调用的文件?您不需要。该帮助明确说明它将根据您使用的开关向基本文件名添加
\u 1