如何用批处理修改文本最后一列数据,比如要把最后一列数据乘个数?

 我来答
四季守望
2012-09-25 · TA获得超过6127个赞
知道小有建树答主
回答量:1216
采纳率:57%
帮助的人:490万
展开全部
试试这个。 将每行第20列的数乘以3,输出到新文件。

@echo off
:: By 公子七哥
setlocal enabledelayedexpansion
:: 原文件
set file="E:\x.txt"
:: 新文件
set file1="E:\x_1.txt"
:: 输出的分隔符,默认为一个空格,可修改
set "fu= "
:: ##以下内容请尽量不要改动。##
:main
echo 原文件:%file%
echo 新文件:%file1%
cd.>%file1%
for /f "usebackq delims=" %%a in ( %file% ) do (
call set a1=%%a
call :fj
echo !Text!>>%file1%
)
echo 已完成,按任意键关闭。
pause>nul
goto :eof

:fj
set n=0
for %%b in ( %a1% ) do (
set /a n+=1
set x=%%b
if !n! == 20 set /a x=!x!*3
if !n! == 1 (
set Text=!x!
) else (
set Text=!Text!%fu%!x!
)
)
exit /b

下面这个版本只计算最后一列

@echo off
:: By 公子七哥
setlocal enabledelayedexpansion
:: 原文件
set file="E:\x.txt"
:: 目标文件
set file1="E:\x_1.txt"
:: 输出的分隔符,默认为一个空格,可修改
set "fu= "
:: ##以下内容请尽量不要改动。##
:main
echo 原文件:%file%
echo 新文件:%file1%
cd.>%file1%
for /f "usebackq delims=" %%a in ( %file% ) do (
call set a1=%%a
call :fj
echo !Text!>>%file1%
)
echo 已完成,按任意键关闭。
pause>nul
goto :eof

:fj
set "Text="
set n=0
for %%b in ( %a1% ) do set /a n+=1
set n1=0
for %%b in ( %a1% ) do (
set /a n1+=1
set x=%%b
if !n1!==!n! set /a x=!x!*3
if !n1! == 1 (
set Text=!x!
) else (
set Text=!Text!%fu%!x!
)
)
sudoku52
2012-09-19 · TA获得超过7万个赞
知道大有可为答主
回答量:1.2万
采纳率:82%
帮助的人:4884万
展开全部
文本一共多少列?乘几?
追问
20列,乘以3.
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式