2014-01-15 106 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