String 批处理:确定从文件读取的行中是否存在子字符串
我是新来的。 我的目的是编写一个批处理,从文件中读取每一行,并根据读取的行执行一些不同的任务。这是一些样品String 批处理:确定从文件读取的行中是否存在子字符串,string,file-io,batch-file,substring,String,File Io,Batch File,Substring,我是新来的。 我的目的是编写一个批处理,从文件中读取每一行,并根据读取的行执行一些不同的任务。这是一些样品 @echo off setlocal enableextensions enabledelayedexpansion for /f "usebackq delims=" %%a in (test.txt) do ( echo %%a *if %%a contains abc do (other tasks)* ) 此外,我是否可以批量检测“换行符”??
@echo off
setlocal enableextensions enabledelayedexpansion
for /f "usebackq delims=" %%a in (test.txt) do (
echo %%a
*if %%a contains abc do (other tasks)*
)
此外,我是否可以批量检测“换行符”??
如果test.txt看起来像:
123
345
abckdla
abd
abd
abc
test
当for循环位于test.txt的第4行和第8行时,我是否可以打印“这是一个新行”
非常感谢您的时间。您的帖子中有两个问题 1.-检查变量是否包含子字符串 试试这个
@echo off
setlocal enableextensions enabledelayedexpansion
for /f "tokens=*" %%a in (test.txt) do (
set tst=%%a
set tst=!tst:ab=!
if not !tst!==%%a (
echo %%a contains ab
) else (
echo %%a does not contain ab
)
)
有关详细信息,请参阅帮助集
2.-FOR命令跳过空行。请尝试帮助以获取
并阅读“跳过空行”。
有一些复杂的解决方案,例如
类型
和查找
,除非绝对必要,否则我会尽量避免
1.-检查变量是否包含子字符串
试试这个
@echo off
setlocal enableextensions enabledelayedexpansion
for /f "tokens=*" %%a in (test.txt) do (
set tst=%%a
set tst=!tst:ab=!
if not !tst!==%%a (
echo %%a contains ab
) else (
echo %%a does not contain ab
)
)
有关详细信息,请参阅帮助集
2.-FOR命令跳过空行。请尝试帮助以获取
并阅读“跳过空行”。
有一些复杂的解决方案,例如类型
和查找
我会尽量避免,除非绝对必要