2016-10-12 33 views
0

我的bat文件中有一個簡單的命令導致它爆炸,我認爲它與命令內的字符串有關,但現在我有點無知。在批處理文件中使用字符串

的命令問題是:

for /f %%i in ('dir *.nupkg /b/a-d/od/t:c | findstr "symbols"') do set LAST=%%i 

什麼在上述行中使用「符號」字符串的正確方法嗎?

+3

您需要跳過PIPE。 ''|' – Squashman

+2

我們不能告訴你「正確的方式」,因爲你沒有告訴我們你想要達到什麼目標......解釋你想要做的事情並展示它正在做什麼(而不僅僅是「 _to explode_「)。 – TripeHound

+0

@Squashman的確是這個問題的解決方案,如果你把它作爲答案發布,我會把它標記爲好,並且提高它的效率。謝謝! – Adam

回答

1

我不明白你爲什麼通過Findstr管道輸出結果。

For /F "Delims=" %%A In ('Dir/B/A-D/OD/T:C *symbols*.nupkg') Do Set "LAST=%%A" 

如果你不知道是到最後一個文件是否包含在它的名字字符串符號,那就是你想要什麼,以確定,那麼你仍然可以檢查循環之後。

For /F "Delims=" %%A In ('Dir/B/A-D/OD/T:C *.nupkg') Do Set "LAST=%%A" 
If "%LAST:symbols=%"=="%LAST%" (Echo= NOT a symbols file) Else (
    Echo= WAS a symbols file) 
相關問題