如何创建par2文件多路径命令行



我的文件是:

/aaaaa/11111.rar
/bbbbb/22222.rar
/cccccc/33333.rar
/ddddd/44444.rar

我想为文件创建par。。。

 /aaaaaa/11111.par2
 /bbbbbb/22222.par2
 /ccccccc/33333.par2
 /dddddd/44444.par2

如何更改票面名称?

我试过这个代码:

@ECHO OFF
REM this command script requires Windows 2000/XP
SETLOCAL
SET par2_path="path of par2j.exe"
:GetFilePath
SET target_folder=%1
REM check input path
IF "%~1"=="" GOTO End
IF NOT EXIST "%~1" GOTO NextFile
IF NOT "%~z1"=="0" GOTO NextFile
REM invoke PAR2 client
ECHO create PAR files for %1
%par2_path% c /sm2048 /rr20 /rd1 /rf3 "%~1%~n1.par2" *
IF ERRORLEVEL 1 GOTO End
:NextFile
SHIFT
GOTO GetFilePath
:End
ENDLOCAL

它有效,但存在一个问题:par文件已重命名文件夹名称。。。

一年前被问到,但还没有答案。

你必须写的不仅仅是%par2_path% c /sm2048 /rr20 /rd1 /rf3 "%~1%~n1.par2" *。将您的线路替换为以下线路:

FOR /F "delims=" %%d IN ('DIR /AD /B "%1"') DO (
    FOR /F "delims=" %%f IN ('DIR /A-D /B "%1%%d"') DO (
        %par2_path% c /sm2048 /rr20 /rd1 /rf3 "%1%%d%%~nf.par2" *
    )
)

假设您有以下结构:

Script.bat
dir001
 - aaaaa
    - file.001
    - name.xyz
 - bbbbb
    - test.abc
 - ccccc
    - file.rar

上面的行将获取给定(拖放)文件夹中的所有文件夹,并列出该文件夹中的全部文件。对于这些文件,请在特定文件夹中创建par2文件。

将文件夹"dir001"放在Script.bat上。输出将类似于:

Script.bat
dir001
 - aaaaa
    - file.001
    - file.par2
    - name.xyz
    - name.par2
 - bbbbb
    - test.abc
    - test.par2
 - ccccc
    - file.rar
    - file.par2

但是,如果您在文件夹"dir001\ccccc"中有另一个名为"file.txt"的文件,该文件将不会得到任何par2文件。如果您愿意,请在第二个FOR循环中更改*%%~nf.par2* to *%%f.par2*,您的par2文件将使用文件的全名(包括扩展名)。

最新更新