批处理——获取当前文件夹的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值是否正常。/
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章