如果语句在命令行循环中为windows 7 bat文件

时间:2014-01-15 09:30:22

标签: batch-file for-loop

我希望在for循环中运行if语句但是遇到问题。看起来应该是这样的:

for %%a in (*.po) do (
    echo ' Translating %%a'

    if %%~na !='filename' msgfmt -cv -o %%~na.mo %%a
    if %%~na !='filename'  del %%a

)

但是我看到我的filename.po仍然被转换和删除。我究竟做错了什么。你看到我的语法错误了吗?

1 个答案:

答案 0 :(得分:1)

这可能有所帮助:

for %%a in (*.po) do (
    echo ' Translating %%a'

    if /i not "%%~na"=="filename" (
        msgfmt -cv -o "%%~na.mo" "%%a"
        del "%%a"
    )
)