我的档案是:
/aaaaa/11111.rar
/bbbbb/22222.rar
/cccccc/33333.rar
/ddddd/44444.rar我想为文件创造标准..。
/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文件改名为文件夹名.
发布于 2016-12-12 13:45:13
一年前被问过,但现在还没有回答。
你必须写的不仅仅是%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但是,如果在文件夹“par2 001\ccccc”中有另一个名为"file.txt“的文件,该文件将不会得到任何par2文件。如果您愿意,在第二个FOR循环中更改FOR,您的par2文件将使用文件的全名(包括文件名)。延期)。
https://stackoverflow.com/questions/33874266
复制相似问题