我有个批处理需要在变量中判断是否含有指定字符,如下:
echo off
for /f "skip=2 tokens=*" %%i in ('findstr "." a.bat') do (
set str=%%i
setlocal enabledelayedexpansion
findstr "!" !str!
if errorlevel 1 set str=!str:a=b!
echo !str! >>a.txt
endlocal
)
可执行时总提示findstr不能打开......也就不能进行判断了,只好请教大家了。
[ Last edited by zw19750516 on 2008-3-30 at 11:00 PM ]
echo off
for /f "skip=2 tokens=*" %%i in ('findstr "." a.bat') do (
set str=%%i
setlocal enabledelayedexpansion
echo !str! >temp.txt
findstr "!" temp.txt
del temp.txt
if errorlevel 1 set str=!str:a=b!
echo !str! >>a.txt
endlocal
)
问题还是未得到解决,好像findstr不能实现这样的查找,是不是它的一个bug啊?
[ Last edited by zw19750516 on 2008-3-30 at 11:02 PM ]
Originally posted by abcd at 2008-3-30 20:06:
有必要这么麻烦吗?
for /f "skip=2 tokens=*" %%i in ('findstr "." a.bat') do (
set str=%%i
echo %%i|findstr "!">nul&&call,echo %%str:a=b%%> ...
for /f "skip=2 tokens=*" %%i in ('findstr "." a.bat') do (
set str=%%i
setlocal enabledelayedexpansion
echo !str! >temp.txt
findstr "!" temp.txt
if errorlevel 0 goto echo
set str=!str:a=犇!
set str=!str:b=猋!
set str=!str:c=骉!
set str=!str:d=蟲!
set str=!str:e=麤!
set str=!str:f=毳!
set str=!str:g=淼!
set str=!str:h=掱!
set str=!str:i=焱!
set str=!str:j=垚!
set str=!str:k=煊!
set str=!str:l=烜!
set str=!str:m=煐!
set str=!str:n=焓!
set str=!str:o=烓!
set str=!str:p=焺!
set str=!str:q=瓛!
set str=!str:r=炜!
set str=!str:s=翙!
set str=!str:t=燚!
set str=!str:u=焜!
set str=!str:v=琰!
set str=!str:w=燊!
set str=!str:x=眚!
set str=!str:y=奡!
set str=!str:z=慤!
:echo
del temp.txt
echo !str! >>a.txt
endlocal
)
[ Last edited by zw19750516 on 2008-3-30 at 11:06 PM ]