如何用批处理,将命令行查询结果插入到某一文本某一字符后面
我想使用'wmic CPU get ProcessorID'命令查询cpu序列号,然后将查询得到的序列号结果插入到test.txt中的第5行‘CPU ID= ’字符后面,用一个批处理命令怎么操作,求指教! 有点复杂,感觉可以写个程序左一下拼接,中间插入好像微软本身并不支持 for 循环 txt内容,然后重新写入,是可以的,不知道有其他方法没WolfAvenue 发表于 2021-1-25 14:50
for 循环 txt内容,然后重新写入,是可以的,不知道有其他方法没
能否提供完整的批处理代码,小白啊,感谢! test.txt前面五行发出来看看 插入不好实现,还是用查找替换的方法吧,但是我也不会写bat 哈哈哈 我就只是提供一个思路 摸鱼的虾 发表于 2021-1-25 15:27
test.txt前面五行发出来看看
CPU
load
ID
trail
CPU ID =
这是文本的前五行,想在CPU ID =后面添加 华南小马哥 发表于 2021-1-25 15:46
CPU
load
ID
文本有第六行吗?晚上有空可以试一下 CPU ID = 这个字符串在第五行那个位置,最后吗? 多了一个空行,我也不知道哪里出问题了{:301_971:}@echo off
setlocal enabledelayedexpansion
set sn=""
set snline=0
for /f "delims=," %%a in ('wmic CPU get ProcessorID') do (
set /a snline=!snline!+1
if !snline! equ 2 (
set matchLine=5
set curLine=0
for /f "delims=," %%i in ('type test.txt') do (
set /a curLine=!curLine!+1
set str=%%i
if !curLine! equ !matchLine! (
set str=!str!%%a
)
if !curLine! equ 1 (
echo !str! > test.txt
) else (
echo !str! >> test.txt
)
)
)
)
pause