我有完整的代码,
: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
然而,这对我来说是有效的,它不干净,为什么其他如果不起作用,
由于
答案 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