2016-10-04 28 views
0

周圍搜索後,我發現,我當然有這段代碼改變了與我的代碼,其餘的工作:批崩潰時運行Findstr工具命令

set /p answ= 

echo.%answ%|findstr /C:":name" >nul 2>&1 && @echo %answ::name=%> Library\user1.lib & pause || echo Not found. & pause & goto chat 

但是,批處理提示崩潰,當此命令是跑了。我做了一個單獨的文件來測試什麼是錯的,但似乎做工精細和我所做的只是更換變量如:

SET /p _test= 

:: For Above: 12345:abcabc 

echo.%_test%|findstr /C:":ab" >nul 2>&1 && @echo %_test::ab=%> Library\user1.lib & pause || echo Not found. & pause 

有什麼我做錯了嗎?我可以使用不同的命令來查找輸入內容嗎?

+0

使用括號和空格。您不能將變量擴展爲數字,並且重定向字符周圍沒有空格。括號告訴Windows如何分組你的命令。 – 2016-10-04 21:10:39

回答

0

不檢查你的代碼,我添加了一些必要的括號。

set /p answ= 

echo.%answ%|findstr /C:":name" >nul 2>&1 && (@echo %answ::name=%> Library\user1.lib & pause) || (echo Not found. & pause & goto chat)