批处理怎样把批处理内置的一段文字(有特殊字符)按已有格式全部写入新文本
假如新文本如下:@echooff&setlocalenabledelayedexpansion:xzd0echo.echo.请核对白细胞数目WBC输入结果值echo.ec...
假如新文本如下:
@echo off&setlocal enabledelayedexpansion
:xzd0
echo.
echo. 请核对 白细胞数目 WBC 输入结果值
echo.
echo. (参考值:3.20-9.70)
echo.
set cs=
set xc=
set cs=$
set/p cs= 输入模式为(0.00)后回车:
if "%cs%"=="$" goto :rbc
echo %cs%|findstr "[^2-9].[^1-9,0][^1-9,0]" >nul&&goto :wbc
echo. 白细胞数目 (WBC) : %cs% (参考值:3.20-9.70)>>%ff%
echo.%cs%>1.txt
(for /f "delims=" %%c in (1.txt) do set hn=%%c&call echo.%%hn:.=%%)>0.txt&&move 0.txt 1.txt
set/p jy=<1.txt
set jswbc=
set ckwbc=白细胞数目在正常值范围内;
if %jy% lss 320 goto :rbc1
if %jy% gtr 970 goto :rbc2
:rbc1
set ckwbc=
set/a xc=320-%jy%
set zwbc=%xc%
set jswbc=低
就是说先把这段字符写好内置于批处理中,然后让他运行的时候再生成出来运行,当然,以上内容不尽相同 展开
@echo off&setlocal enabledelayedexpansion
:xzd0
echo.
echo. 请核对 白细胞数目 WBC 输入结果值
echo.
echo. (参考值:3.20-9.70)
echo.
set cs=
set xc=
set cs=$
set/p cs= 输入模式为(0.00)后回车:
if "%cs%"=="$" goto :rbc
echo %cs%|findstr "[^2-9].[^1-9,0][^1-9,0]" >nul&&goto :wbc
echo. 白细胞数目 (WBC) : %cs% (参考值:3.20-9.70)>>%ff%
echo.%cs%>1.txt
(for /f "delims=" %%c in (1.txt) do set hn=%%c&call echo.%%hn:.=%%)>0.txt&&move 0.txt 1.txt
set/p jy=<1.txt
set jswbc=
set ckwbc=白细胞数目在正常值范围内;
if %jy% lss 320 goto :rbc1
if %jy% gtr 970 goto :rbc2
:rbc1
set ckwbc=
set/a xc=320-%jy%
set zwbc=%xc%
set jswbc=低
就是说先把这段字符写好内置于批处理中,然后让他运行的时候再生成出来运行,当然,以上内容不尽相同 展开
1个回答
展开全部
怎么看都是不合理的,要么提前多存个文件,要么整合一下合二而一 。不仅运行效率高也减少了对硬盘的额外写入和删除
@echo off
set 文本1=aaa.bat
rem 注意本代码与内置文本中标号行及标志行关键词的唯一性如 :next 文本1开始
for %%i in (开始 结束)do for /f "delims=:" %%j in (
'findstr/n "文本1%%i" "%~f0"')do set/a 文本1%%i=%%j
(for /f "tokens=1* delims=:" %%i in ('findstr/n .* "%~f0"')do (
if %%i gtr %文本1开始% if %%i lss %文本1结束% echo.%%j))>"%文本1%"
rem 注 以下部分可写需要的命令代码,例如:
call "%文本1%"
del "%文本1%"
rem 等等...
goto :next
===============文本1开始================
(文本粘贴处)
===============文本1结束================
:next
pause
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询