首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何创建par2文件多标准命令行?

如何创建par2文件多标准命令行?
EN

Stack Overflow用户
提问于 2015-11-23 15:07:02
回答 1查看 2K关注 0票数 0

我的档案是:

代码语言:javascript
复制
/aaaaa/11111.rar
/bbbbb/22222.rar
/cccccc/33333.rar
/ddddd/44444.rar

我想为文件创造标准..。

代码语言:javascript
复制
 /aaaaaa/11111.par2
 /bbbbbb/22222.par2
 /ccccccc/33333.par2
 /dddddd/44444.par2

我怎样才能更改票面名称?

我试过这段代码:

代码语言:javascript
复制
@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文件改名为文件夹名.

EN

回答 1

Stack Overflow用户

发布于 2016-12-12 13:45:13

一年前被问过,但现在还没有回答。

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

代码语言:javascript
复制
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" *
    )
)

假设您有以下结构:

代码语言:javascript
复制
Script.bat
dir001
 - aaaaa
    - file.001
    - name.xyz
 - bbbbb
    - test.abc
 - ccccc
    - file.rar

上面的行将获取给定文件夹(拖放)中的所有文件夹,并列出该文件夹中的所有文件。为此,文件在特定文件夹中创建par2文件。

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

代码语言:javascript
复制
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文件将使用文件的全名(包括文件名)。延期)。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33874266

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档