【发布时间】:2017-02-13 21:28:21
【问题描述】:
在目录和子目录中搜索文件并编辑这些文件中的特定行。
C:\Users\user\Desktop\backup>dir
Volume in drive C has no label.
Volume Serial Number is C8D8-4C1B
Directory of C:\Users\user\Desktop\backup
02/13/2017 03:02 PM <DIR> .
02/13/2017 03:02 PM <DIR> ..
02/13/2017 02:21 PM <DIR> blog
02/13/2017 02:21 PM <DIR> css
02/13/2017 02:21 PM <DIR> forgot
02/13/2017 02:21 PM <DIR> img
02/13/2017 02:21 PM 13,845 index.htm
02/13/2017 02:21 PM <DIR> pages
02/13/2017 02:21 PM <DIR> photo
02/13/2017 02:21 PM <DIR> photos
02/13/2017 02:21 PM <DIR> profile
02/13/2017 02:21 PM <DIR> signin
02/13/2017 03:11 PM 89 test.bat
02/13/2017 02:21 PM <DIR> theme
02/13/2017 02:21 PM <DIR> view
2 File(s) 13,934 bytes
13 Dir(s) 74,300,223,488 bytes free
我在 stackoverflow 上搜索了答案并找到了这段代码:
for /R %f in (index.htm)" do "x"
和
findstr /v /i "body" index.htm > indexnew.htm
我想出了这段代码但失败了:
"for /R %f in (index.htm)" do "findstr /v /i "shaw" index.htm > indexnew.htm"
pause
失败了。
我需要操作主目录和子目录中名为 index.htm 的文件,以删除特定行或其中包含“shaw”一词的行。
【问题讨论】:
-
需要使用for变量作为findstr解析的文件名。
-
如何调用 for 变量? %f?
标签: batch-file search