Board logo

标题: [其他] 【已解决】如何用批处理调整BAT代码中的行 [打印本页]

作者: 思想之翼    时间: 2023-6-11 03:39     标题: 【已解决】如何用批处理调整BAT代码中的行

本帖最后由 思想之翼 于 2023-6-11 09:31 编辑

如何用批处理代码,将下述BAT代码的第7行提到第6行?
@echo off
for /l %%f in (1000001,1,1001798) do (
    setlocal enabledelayedexpansion
    set p=%%f
        paste ......
        gawk ......【1】
        bwfr  ......【2】

    endlocal
)
exit

结果为:
@echo off
for /l %%f in (1000001,1,1001798) do (
    setlocal enabledelayedexpansion
    set p=%%f
        paste ......
        bwfr  ......【2】
        gawk ......【1】

    endlocal
)
exit
作者: czjt1234    时间: 2023-6-11 07:54

根据行数调整,还是根据该行的内容进行判断调整
作者: 思想之翼    时间: 2023-6-11 08:01

回复 2# czjt1234
谢谢关注!根据行数调整
作者: jyswjjgdwtdtj    时间: 2023-6-11 08:21

批处理不会 vbs行不?
  1. set fso=createobject("scripting.filesystemobject")
  2. a=split(fso.opentextfile("1.bat",1).readall(),vbcrlf)
  3. t=a(6)
  4. a(6)=a(7)
  5. a(7)=t
  6. set f=fso.createtextfile("1.bat",true,true)
  7. for each aa in a
  8. f.writeline aa
  9. next
  10. f.close()
复制代码
bat应该也差不多 读文件 写数组 变量兑换内容 写文件
作者: 思想之翼    时间: 2023-6-11 08:51

回复 4# jyswjjgdwtdtj
感谢帮助!vbs代码运行时,出现第3行下标越界,代码800A0009
作者: jyswjjgdwtdtj    时间: 2023-6-11 09:12

回复 5# 思想之翼
  1. set fso=createobject("scripting.filesystemobject")
  2. a=split(fso.opentextfile("1.bat",1).readall(),vbcrlf)
  3. t=a(5)
  4. a(5)=a(6)
  5. a(6)=t
  6. set f=fso.createtextfile("1.bat",true)
  7. for each aa in a
  8. f.writeline aa
  9. next
  10. f.close()
复制代码
测试代码不要用你提供的 里面的【记事本检测到会自动把编码转成utf16 就读不了了 utf8可以
作者: 77七    时间: 2023-6-11 11:08

  1. @echo off
  2. %1 >2.bat (for /f "tokens=1* delims=:" %%a in ('%0 rem') do echo %%b) & exit
  3. findstr /n .* 1.bat |findstr /rbc:"[1-5,7]:"
  4. findstr /n .* 1.bat |findstr /rbvc:"[1-5,7]:"
复制代码





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