Board logo

标题: [文件操作] 删重复行的BAT脚本环形状态不正常 [打印本页]

作者: 娜美    时间: 2021-11-10 23:03     标题: 删重复行的BAT脚本环形状态不正常

这是一个简单删重复行脚本,  当让它工作在环形状态 环回第二次会失效, 没有任何内容输出    但执行第一次是正常输出的   从环回第二次开始就没有任何输出
  1. @echo off
  2. :Loop
  3. TIMEOUT -T 5
  4. (for /f "delims=" %%i in (a.txt) do (
  5.     if not defined %%i (
  6.         echo,%%i
  7.         set %%i=1
  8.     )
  9. ))>b.txt
  10. goto Loop
复制代码

作者: Batcher    时间: 2021-11-10 23:17

回复 1# 娜美
  1. @echo off
  2. :Loop
  3. timeout -t 5
  4. setlocal
  5. (for /f "delims=" %%i in (a.txt) do (
  6.     if not defined %%i (
  7.         echo,%%i
  8.         set %%i=1
  9.     )
  10. ))>b.txt
  11. endlocal
  12. goto :Loop
复制代码

作者: 娜美    时间: 2021-11-11 09:30

回复 2# Batcher


   噢噢  Thanks  原来是这样,

Sorry  昨晚睡早了, 等了一会想不到这么快就有人回
作者: Fit    时间: 2021-11-11 12:16

为什么加setlocal和endlocal就好了,求解
作者: idwma    时间: 2021-11-11 13:26

回复 4# Fit


    清空自定义变量
作者: Fit    时间: 2021-11-11 17:17

好的谢谢!!!!!!!!!
作者: Batcher    时间: 2021-11-11 20:16

回复 4# Fit


    限制自定义变量的作用域
作者: qixiaobin0715    时间: 2021-11-11 20:40

回复 5# idwma
长知识了。这样解释容易理解,谢谢!
作者: qixiaobin0715    时间: 2021-11-11 20:42

版主大人说的比较严谨。
作者: Fit    时间: 2021-11-12 09:58






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