Board logo

标题: [文本处理] 【已解决】 求助!!如何将txt里的数据负的变成正的,正的变成负的 [打印本页]

作者: zhonglumthgh    时间: 2018-2-2 11:31     标题: 【已解决】 求助!!如何将txt里的数据负的变成正的,正的变成负的

@echo off
  for /f "delims=" %%i in ('dir /s/b *.txt') do (
  for /f "delims=" %%a in ('type "%%~fi"') do (
    set  foo=%%a
  call,set /a foo=-1*%%foo
  call,echo/%%foo%%>>"%%~fi._"
  )
  move "%%~fi._" "%%~fi"
  )
  exit
这个代码运行出来的结果为什么8,9会变成0啊?
作者: yhcfsr    时间: 2018-2-2 16:31

  1. @echo off
  2. set "SourDir=E:\DCOPY\test"
  3. cd /d "%SourDir%"
  4. echo 正在处理……
  5. for /f  "delims=" %%a in ('dir /a-d /s /b *.txt') do (
  6. for /f  "delims=" %%i in ('findstr /n ".*" "%%a"') do (
  7.         set "var=%%i"
  8.         setlocal enabledelayedexpansion
  9.         set var=!var:*:=!
  10.         echo !var!|findstr /b "^-">nul&&set "var=!var:-=!"||if not "!var!"=="" set "var=-!var!"
  11. (echo.!var!)>>"%%a.log"
  12.         endlocal
  13. )
  14. move /y "%%a.log" "%%~nxa">nul
  15. )
  16. pause&exit
复制代码

作者: /zhqsystem/zhq    时间: 2018-2-2 19:25

本帖最后由 /zhqsystem/zhq 于 2018-2-2 19:36 编辑
  1. @echo off
  2. md "%temp%\temptemp"
  3. for /f  "delims=" %%i in ('dir/a-d/s /b ".\*.txt"') do (
  4. (for /f %%j in ('type "%%~fi"')do (
  5.   for /f "delims=-" %%k in ("%%j")do if /i "%%j"=="%%k" (
  6.    echo,-%%k
  7.   )else (
  8.    echo,%%k
  9.   )
  10. )
  11. )>"%temp%\temptemp\%%~nxi"
  12. xcopy/y "%temp%\temptemp\%%~nxi" "%%~dpi"&&del/q "%temp%\temptemp\%%~nxi"
  13. )
  14. rd "%temp%\temptemp"
  15. pause
复制代码

作者: zhonglumthgh    时间: 2018-3-15 15:41

回复 2# yhcfsr


    set var=!var:*:=!
从这段代码开始,就不太明白了,能请您解释一下吗,想学习一下
作者: yhcfsr    时间: 2018-3-15 17:05

回复 4# zhonglumthgh


    加我好友,33892006




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