[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[文本处理] [已解決]批处理删除文本重复行时如何使用变量延迟扩展?

有个文件叫做123.txt 内容是
  1. 1
  2. 1
  3. 1
  4. 2
  5. 2
  6. 2
  7. 3
  8. 3
  9. 3
复制代码
小弟希望他输出
  1. 1
  2. 2
  3. 3
复制代码
小弟的程式代码
  1. @echo off
  2. for /f %%a in ('type 123.txt') do (
  3. call set if not "%%a"=="%%var%%" (
  4. echo %%a
  5. call set "var=%%a"
  6.   )
  7. )
  8. pause
复制代码
还是不行....请问,哪里错了??
ps.
3[/code]小弟的程式代码
  1. @echo off
  2. for /f %%a in ('type 123.txt') do (
  3. echo %%a ***
  4. call echo %%var%% ***
  5. pause ***
  6. call set if not "%%a"=="%%var%%" (
  7. echo %%a
  8. call set "var=%%a"
  9.   )
  10. )
  11. pause
复制代码
上述有***部份,可知 此时 %%a = %%var%%
但是为什么还会执行 if not ??

[ 本帖最后由 strong12345 于 2009-7-25 15:40 编辑 ]
1

评分人数

    • keen: 感谢主动给标题标注[已解决]字样PB + 2

小弟昨天晚上凌晨
开启环境延迟变数而不是使用%%%%后
就可以了
不过也感谢你

TOP

返回列表