批處理——獲取當前文件夾的TXT文件名和去除掉最後一個文件名

dir *.txt /b /on /w >nametem.txt
@echo off
findstr /v "nametem.txt" nametem.txt>name.txt


%1 查找txt文檔,並以一定格式輸出所有TXT文件名
%2 關閉回顯
%3 查找固定字符串,並輸出非匹配文件名

在運行過程中,發現生成了nametem 和name兩個文件,但是name裏沒有任何文字。開始調試:
1、懷疑是findstr用法錯誤,百度後詳細瞭解,沒有發現語法錯誤;
2、再將findstr語句刪減爲最簡形式:findstr ''nametem.txt" nametem.txt,依舊出錯
3、想到看看程序運行過程,在最後加了PAUSE,命令行窗戶出現“findstr /m /c不是內部或外部命令,也不是可運行的程序”,大魔頭出現!
4、百度之,得到答案
/你可以打開出現錯誤的win7的CMD窗口,手動輸入 findstr /? 測試下會不會出現錯誤?
我的也是WIN7,這個命令能運行。
如果是CMD中輸入 findstr /? 也提示不是內部命令也不是可運行的程序,那就是系統的問題了,而不是代碼的問題。如何修復?→
打開C盤搜索findstr.exe,一般位於系統盤Windows下的system32文件中,如果沒有請下載放到其中,如果有請檢查您系統的path值是否正常。/
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章