我有一个名称,如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
试试这个
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回原来的文件夹,删除临时之一。
希望这可以帮助。
for %F in (*.zip) do 7z e "%F" -so >"%~nF.txt"
-提供有仅1个文件在zip归档如你所说(如如果直接从命令行执行示出,如果在批量使用用于%%F
)