重命名基于在批量压缩文件解压缩文件(Rename extracted file based on z

2019-06-26 12:38发布

我有一个名称,如001.zip,002.zip,003.zip多个zip文件,必须上升到999.zip的潜力。 每个zip文件都有一个确切的文本文件。 我想提取使用批处理每个zip文件,然后将其重命名提取到的zip文件名的文本文件。

例如,如果我提取001.zip,我想是被提取(被提取的所有文本文件有不同的名字)是名001.txt文本文件。

我至少我现在提取所有文件,但我太熟悉批处理和我不知道如果有一个简单的方法来做到这一点?

cd test
echo     Decompressing zip4 data.
7z e *.zip

Answer 1:

试试这个

md textfiles
for %%f in (*.7z) do (
7z e "%%f"
move *.txt textfiles\%%~nf.txt
)
xcopy textfiles\*.txt originalfolder
rd textfiles /s /q

只要确保不存在现有的文本文件,此文件夹中,这应该工作。 它只是创建一个临时文件夹,然后将所有文本文件存在(只有一个提取将出席的时间,但这个工程作为文件名不知道),并将其重命名为zip文件名。

在所有的提取和重命名完成它只是移动所有TEXTFILES回原来的文件夹,删除临时之一。

希望这可以帮助。



Answer 2:

for %F in (*.zip) do 7z e "%F" -so >"%~nF.txt" -提供有仅1个文件在zip归档如你所说(如如果直接从命令行执行示出,如果在批量使用用于%%F



文章来源: Rename extracted file based on zip file in Batch