我有一个功能已经在删除所有不包含多个文件中的字符串的行,它可以很好地与常用字符串一起使用:
@echo off
set "string_to_find=level.waypoints["
for /f "tokens=*" %%a in ('dir /B *.gsc') do (
set "tempfile=%temp%\%%a"
if exist "%tempfile%" del "%tempfile%" >NUL
findstr /C:"%string_to_find%" "%~dp0\%%a" >> "%tempfile%"
if not errorlevel 1 (
del "%%a" >NUL
move /Y "%tempfile%" "%~dp0\%%a" >NUL
if exist "%tempfile%" del "%tempfile%" >NUL
echo File "%~dp0\%%a" processed successfully
) else (
echo Problem processing file "%~dp0\%%a"
)
)
如果我只搜索" level.waypoints" (没有" [")工作正常,但我不想删除的几行不会被删除。我需要搜索" level.waypoints ["真正删除我需要的所有行,但因为char" ["让一切都搞错了,弄乱了临时文件,最后给出错误"找不到文件" ...
我认为应该有一些我需要放的字符" ["喜欢" ["让它发挥作用,但我无法找到它......已经尝试了许多没有运气。 :/
那么如何搜索字符串" level.waypoints ["和工作?
感谢
答案 0 :(得分:2)
在@jmoon发送的链接上说:
特殊情况 少数命令遵循略有不同的规则,FINDSTR,REG和RUNAS都使用\作为转义字符而不是^
尝试并且有效!所以结束字符串是" level.waypoints \ ["
喝彩!