添加条件语句以检查目录是否存在。批量脚本

时间:2014-01-26 02:20:25

标签: batch-file

我需要添加条件语句来检查文件夹,以便它可以执行以下脚本。可以说脚本放在文件夹c:/temp/A中,但我希望脚本能够执行并更改另一个目录d:/xxx/B中文件的文件扩展名。如果目录B不存在,则抛出错误并退出。我尝试使用if else语句,但它说不允许其他语句。请帮帮我,让我知道如何做到。

@echo off
setlocal ENABLEDELAYEDEXPANSION
for %%F in (*.*_error* *.*error_*) do ( set "ext=%%~xF"
SET "ext=!ext:_error=!"
ren "%%F" "%%~nF!ext:error_=!"
)

2 个答案:

答案 0 :(得分:1)

你可以这样做。

IF EXIST "D:\xxx\b\" (goto thescript) else goto theerror

:thescript
#then whatever you want to run here. 
goto :EOF

:theerror
ECHO File does not exist
goto :EOF

答案 1 :(得分:0)

@echo off
setlocal ENABLEDELAYEDEXPANSION

PUSHD d:\xxx\B 2>nul
if errorlevel 1 (
 echo required destination not found
 goto :wherever
)

for %%F in (*.*_error* *.*error_*) do ( set "ext=%%~xF"
SET "ext=!ext:_error=!"
ren "%%F" "%%~nF!ext:error_=!"
)

POPD

最好使用directoryname-separators的正确字符。 /用于切换。