导出多个TAR以维护文件结构和名称

唱诗班

我已经为此苦苦挣扎了两天,因为我不太懂代码。基本上,我得到了一个巨大的zip文件,里面充满了某些人需要访问的报告。解压缩后,它具有完整的目录结构,并且所有文件均为.tar.gz文件。我有一个工作批处理文件,将所有.tar.gz提取到.tar,然后删除.gz。

我现在面临的问题是,在TAR中,所有文件名作为一系列数字都是无意义的。我正在尝试制作一个.bat,它将提取TAR并将内容重命名为与.tar相同的文件名。(每个TAR只有一个文件)。

这是我目前所拥有的:

FOR /D /r %%F in ("*") DO (
    pushd %CD%
    cd %%F
    SET 
    FOR %%X in (*.tar) DO (
        set filename="%%X"
        "C:\Program Files\7-zip\7z.exe" x "%%X" -aou -o"%%F\temp\"
        REN "%%F\temp\*" %filename%
        REN "%%F\temp\*.tar" "*.null"
        MOVE "%%F\temp\*.null" "%%F"
        RMDIR "%%F\Temp\"
        DEL "%%X"
    )
popd
)

我尝试将%% F加载到变量中,但这引起了另一组问题。我有一个使用TrID识别和更正文件类型的最终脚本,因此.null值只是临时的。

foxidrive

测试一下-提取TAR文件,将提取的文件重命名为与TAR相同的名称,并以.null结尾,然后删除原始TAR文件,并将重命名的文件移动到原始TAR文件所在的位置,删除临时文件夹。

它应在主文件夹中运行,而所有TAR文件都在其下面的文件夹中。将其复制到另一个文件夹并尝试。

@echo off
FOR /r %%F in (*.tar) DO (
        "C:\Program Files\7-zip\7z.exe" x "%%F" -aou -o"%%~dpF\temp\"
        REN "%%~dpF\temp\*.*" "%%~nF.null"
        DEL "%%F"
        MOVE "%%~dpF\temp\%%~nF.null" "%%~dpF"
        RMDIR "%%~dpF\temp\"
)

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章