goo*_*yui 0 windows batch-file
我们在一个文件夹中有数百个*.pdf文件.每个*.pdf都将命名约定为ABC_100_filename.pdfor ABC_200_filename.pdf或ABC_300_filename.pdf.
在批处理脚本中,我们调用*.exe文件,如下所示:
call test.exe 100 filename
call test.exe 200 filename
call test.exe 300 filename
Run Code Online (Sandbox Code Playgroud)
由于没有IF条件来验证文件,我们错误地加载了ID不正确的文件.
预期结果:test.exe 100应该调用文件ABC_100_Testfile.pdf.
我们错误地调用test.exe 200而不是执行此文件.
如何编写IF-ELSE IF条件以在批处理脚本中调用.exe文件.
if %str1:~0,7%==ABC_100 (call test.exe 100 filename)
pause
if %str2%==ABC_200 (call test.exe 200 filename)
Run Code Online (Sandbox Code Playgroud)
小智 5
call.exe(只有其他批处理文件才能返回)_使用解析.@Echo off
For /f "tokens=1-2* delims=_" %%A in (
'Dir /B/A-D "*_*_*.pdf"'
) Do test.exe %%B "%%A_%%B_%%C"
Run Code Online (Sandbox Code Playgroud)
具有固定结构的文件名用于区分具有不同字符的元素,可以使用for/f(请参阅ss64.com/nt/for_f)将分隔的标记分发到相邻的元变量.
file name : ABC_100_filename.pdf delims : _ _ tokens : 1 _ 2 _ * (rest) for variable : %%A %%B %%C
| 归档时间: |
|
| 查看次数: |
867 次 |
| 最近记录: |