Board logo

标题: [文本处理] 批处理如做对文本内的数字做四则运算? [打印本页]

作者: 千浪    时间: 2014-12-8 10:45     标题: 批处理如做对文本内的数字做四则运算?

E盘CAD目录里有N个目录,每个目录有N个TXT文本。要求对文本内的数字做减法运算

在运算前先用attrib  -r 去掉所有文本只读属性,再对文本内的数字做减1
如果文本内为0,就不做任何处理。
运算完后再对所有文本做属性添加为只读。


文本内只有一个数字
作者: 千浪    时间: 2014-12-8 11:17

文本内只有一个数字
作者: Batcher    时间: 2014-12-8 14:58

  1. @echo off
  2. setlocal enabledelayedexpansion
  3. for /f "delims=" %%i in ('dir /b /s /a-d "E:\CAD\*.txt"') do (
  4.     pushd "%%~dpi"
  5.     set /p n=<"%%i"
  6.     if !n! gtr 0 (
  7.         set /a n-=1
  8.         >"%%i.new" echo !n!
  9.         attrib -r "%%i"
  10.         move /y "%%i.new" "%%~nxi" >nul
  11.         attrib +r "%%i"
  12.     )
  13.     popd
  14. )
复制代码

作者: 千浪    时间: 2014-12-8 18:54

收到,可行.
非常感谢




欢迎光临 批处理之家 (http://www.bathome.net/) Powered by Discuz! 7.2