2014-01-15 75 views
0

我期待在for循环中运行if语句,但有问题。它应该看起来像这样:如果语句在Windows 7的命令行循环bat文件

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

这可以帮助:

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

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

谢谢它的工作! – atwellpub