否则如果不起作用,请检查文件夹名称。

时间:2014-06-30 11:32:11

标签: batch-file

我有完整的代码,

    :process_video

FOR /F "delims=\" %%i IN ('dir /b /ad-h /o-d') DO (
    SET a=%%i
    GOTO :found
)
echo No subfolder found
goto :eof

:found
echo Most recent video created: &echo. & echo."%a%"
if  /i "%a:~-3%"=="ESP" 
else if  /i "%a:~-3%"=="GBR" goto:next
cd %a%
for %%a in (*) do rename "%%a" "%%~na-%a%%%~xa"
cd ..\
ren "%a%" "%a% - ESP"
echo.
echo ESP video has been processed
echo.
pause
exit /b

:next
echo.
echo.ESP Video already processed
echo.
pause

:exit
exit /b

但是我想扩大检查标准,不仅仅是ESP,还有其他的话。

我试过这个,但运气不好:

if  /i "%a:~-3%"=="ESP", 
else if /i "%a:~-3%"=="GBR", 
else if/i "%a:~-3%"=="SPE" goto:next

和这个

echo Most recent video created: &echo. & echo."%a%"
if /i "%a:~-3%"=="ESP" ( 
goto:next 
) else if /i "%a:~-3%"=="GBR" 
(
goto:next 
) else if /i "%a:~-3%"=="SPE"
(
goto:next
)
else
)
echo THis works 
)

我认为这将是另一个吗?

我不确定我在这里缺少什么。

更新

:found
echo Most recent video created: &echo. & echo."%a%"
if /i "%a:~-3%"=="ESP" goto:next else goto:GBR
:GBR
if /i "%a:~-3%"=="GBR" goto:next else goto:SPE
:SPE
if /i "%a:~-3%"=="SPE" goto:next 

然而,这对我来说是有效的,它不干净,为什么其他如果不起作用,

由于

1 个答案:

答案 0 :(得分:1)

如果您想要与文本进行OR,那么这将有效。

for %%a in (ESP GBR SPE) do if  /i "%a:~-3%"=="%%a" goto:next

这是一个概念证明

@echo off
set a=123456.GBR
for %%a in (ESP GBR SPE) do if  /i "%a:~-3%"=="%%a" echo goto:next & pause