File 批处理脚本-查找字符串“;名称“;返回与字符串对应的ID
我有一个脚本,可以在文件中查找字符串“SiteName”。我要做的是,如果string=“SiteName”返回相应的ID号File 批处理脚本-查找字符串“;名称“;返回与字符串对应的ID,file,batch-file,command-line,cmd,web-deployment,File,Batch File,Command Line,Cmd,Web Deployment,我有一个脚本,可以在文件中查找字符串“SiteName”。我要做的是,如果string=“SiteName”返回相应的ID号 @echo off set SiteID %SiteID% = findstr /s /b "SiteName" %WinDir%\System32\Inetsrv\Config\applicationHost.Config 在我的文件中,我有一个我想将ID存储在%SiteID%变量中。对于/f“usebackqtokens=1-3delims=“%%a In”(“%%
@echo off
set SiteID
%SiteID% = findstr /s /b "SiteName" %WinDir%\System32\Inetsrv\Config\applicationHost.Config
在我的文件中,我有一个
我想将ID存储在%SiteID%变量中。对于/f“usebackqtokens=1-3delims=“%%a In”(“%%filename1%”)DO(
FOR /f "usebackqtokens=1-3delims=<=> " %%a IN ("%filename1%") DO (
if "%%a"=="site" if "%%b"=="name" set siteid=%%~c
)
echo %siteid%
如果“%%a”==“站点”如果“%%b”==“名称”设置站点ID=%%~c
)
回显%siteid%
将在文件名中搜索结构为
DelimiterSiteDelimiterNameDelimiter“requireddata”无论什么
其中分隔符是
或空格中的任意一个
usebackq
允许引用文件名(可能是您指定的常量)(如果它包含分隔符,则需要使用该文件名),并且~
删除第三个标记周围的任何引号(标记是分隔符字符串之间的字符串)我进行了测试,如果我从1
到5
获取令牌,并且在set
命令中,我使用%%~e
变量,它对我有效。在这种情况下,%filename%是文件的路径?是的-我使用了一个变量来包含文件名。哇!那很有效谢谢你!!我将%filename1%替换为文件的路径太棒了!还有一个问题,这是否搜索SiteName站点?以及相应的ID号,因为我有多个不同ID号的网站。