bat提取txt文本每一行设置成每行单独的变量 可以解决 我就加分
如题比如生成了一个记事本内容如下我怎么能读取每行设为每一个单独变量如smss.exeC:\WINDOWS\System32\smss.exe=变量1csrss.exe=变...
如题
比如生成了一个记事本内容如下 我怎么能读取每行设为 每一个单独变量
如smss.exeC:\WINDOWS\System32\smss.exe=变量1 csrss.exe=变量2依此类推
或者可以读取某行为一个变量 set 几行=几
smss.exeC:\WINDOWS\System32\smss.exe
csrss.exe
winlogon.exeC:\WINDOWS\system32\winlogon.exe
services.exeC:\WINDOWS\system32\services.exe
lsass.exeC:\WINDOWS\system32\lsass.exesvchost.exe
svchost.exeC:\WINDOWS\System32\svchost.exe
explorer.exeC:\WINDOWS\Explorer.EXE 展开
比如生成了一个记事本内容如下 我怎么能读取每行设为 每一个单独变量
如smss.exeC:\WINDOWS\System32\smss.exe=变量1 csrss.exe=变量2依此类推
或者可以读取某行为一个变量 set 几行=几
smss.exeC:\WINDOWS\System32\smss.exe
csrss.exe
winlogon.exeC:\WINDOWS\system32\winlogon.exe
services.exeC:\WINDOWS\system32\services.exe
lsass.exeC:\WINDOWS\system32\lsass.exesvchost.exe
svchost.exeC:\WINDOWS\System32\svchost.exe
explorer.exeC:\WINDOWS\Explorer.EXE 展开
展开全部
@ECHO off
@echo for each ps in getobject _ >ps.vbs
@echo ("winmgmts:\\.\root\cimv2:win32_process").instances_ >>ps.vbs
@echo wscript.echo ps.name^&"="^&ps.executablepath:next >>ps.vbs
cscript //nologo ps.vbs
cscript //nologo ps.vbs>1.txt & del ps.vbs
cls
findstr /n .* 1.txt
:start
echo.
echo
echo 输入您要结束的程序
echo 也可以鼠标右键按标记
echo 然后鼠标选择复制再按鼠标左键和右键粘贴
echo 或者直接输入行号
echo.
set /p cx=注意不输后缀名(.exe):
setlocal enabledelayedexpansion
set exe=%cx%.exe
set /a cx=%cx%-1
if %cx% GEQ 2 if %cx% LEQ 50 (
for /f "skip=%cx% delims=" %%i in (1.txt) do (
set exe=%%i
set exe=!exe:.= exe!
call :setexe !exe!
goto end
))
:end
for /f "tokens=2 delims==" %%b in ('"find /i "%exe%" "1.txt""') do (
set lj=%%b
)
if defined lj (echo %lj%) else echo 未开该程序%exe%&goto start
taskkill.exe /f /im "%exe%"
echo 重新打开%exe%
start "" "%lj%
echo
echo.
goto start
:setexe
set exe=%1
goto :eof
@echo for each ps in getobject _ >ps.vbs
@echo ("winmgmts:\\.\root\cimv2:win32_process").instances_ >>ps.vbs
@echo wscript.echo ps.name^&"="^&ps.executablepath:next >>ps.vbs
cscript //nologo ps.vbs
cscript //nologo ps.vbs>1.txt & del ps.vbs
cls
findstr /n .* 1.txt
:start
echo.
echo
echo 输入您要结束的程序
echo 也可以鼠标右键按标记
echo 然后鼠标选择复制再按鼠标左键和右键粘贴
echo 或者直接输入行号
echo.
set /p cx=注意不输后缀名(.exe):
setlocal enabledelayedexpansion
set exe=%cx%.exe
set /a cx=%cx%-1
if %cx% GEQ 2 if %cx% LEQ 50 (
for /f "skip=%cx% delims=" %%i in (1.txt) do (
set exe=%%i
set exe=!exe:.= exe!
call :setexe !exe!
goto end
))
:end
for /f "tokens=2 delims==" %%b in ('"find /i "%exe%" "1.txt""') do (
set lj=%%b
)
if defined lj (echo %lj%) else echo 未开该程序%exe%&goto start
taskkill.exe /f /im "%exe%"
echo 重新打开%exe%
start "" "%lj%
echo
echo.
goto start
:setexe
set exe=%1
goto :eof
展开全部
假如生成的记事本文件名为: jin.txt
最后的变量为%T1% %T2% ... 依次递增。
@echo off&setlocal enabledelayedexpansion
set n=0
for /f "delims=" %%i in (jin.txt) do (
set/a n+=1
set T!n!=%%i
)
echo !T1! !T2! !T3! !T4! !T5!
pause
最后的变量为%T1% %T2% ... 依次递增。
@echo off&setlocal enabledelayedexpansion
set n=0
for /f "delims=" %%i in (jin.txt) do (
set/a n+=1
set T!n!=%%i
)
echo !T1! !T2! !T3! !T4! !T5!
pause
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
没有太明白你的意思。。hi我吧
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询