|  | 
 
| vkill 金牌会员
 
       
 
 
 
 积分 4103
 发帖 1744
 注册 2006-1-20
 来自 甘肃.临泽
 状态 离线
 | 
| 『楼 主』:
 写入%var%到txt文件第一行的问题
 
使用 LLM 解释/回答一下 
 
 
set var=123456
 test.txt
 00
 11
 22
 33
 
 我想把test.txt内容写为
 123456
 00
 11
 22
 33
 
 
 要求不生成临时文件,试了好多方法都不可以,请大家给个方案~
 
 
 
 
 |  | 
|  2006-10-26 07:47 |  | 
|  | 
 
| lxmxn 版主
 
         
 
 
 积分 11386
 发帖 4938
 注册 2006-7-23
 状态 离线
 | 
|  『第 2 楼』:
 
 
使用 LLM 解释/回答一下 
 
 
我也试了好多方法,最后终于被我试出来了,而且测试也是成功的代码如下:
 @ECHO OFF
 SETLOCAL ENABLEDELAYEDEXPANSION
 set var=123456
 set str=
 for /f "TOKENS=*" %%i in ('type a.txt') do (
 set str=!str!#%%i
 )
 call :no %str%
 goto :eof
 
 :no
 set "a=%1"
 echo %var%>a.txt
 :redo
 for /f "tokens=1 delims=#" %%l in ("%a%") do (
 echo %%l>>a.txt
 for /f "tokens=1* delims=#" %%p in ("%a%") do (
 set a=#%%q
 goto :redo
 )
 )
 
 
 
 
 
 
 
 |  | 
|  2006-10-26 10:26 |  | 
|  | 
 
| 3742668 荣誉版主
 
        
 
 
 
 积分 2013
 发帖 718
 注册 2006-2-18
 状态 离线
 | 
|  『第 3 楼』:
 
 
使用 LLM 解释/回答一下 
 
 
@echo offsetlocal ENABLEDELAYEDEXPANSION
 set file=test.txt
 for /f "delims=: tokens=1,*" %%i in ('findstr /n . %file%') do set "%%i=%%j" & set num=%%i
 echo 123456>%file%
 for /l %%i in (1,1,%num%) do if defined %%i (>>%file% echo !%%i!) else (>>%file% echo.)
 
 
基本解决空行,&,|的问题. 
 
 
 
 
 
 |  | 
|  2006-10-26 11:00 |  | 
|  | 
 
| lxmxn 版主
 
         
 
 
 积分 11386
 发帖 4938
 注册 2006-7-23
 状态 离线
 | 
| 『第 4 楼』:
 
 
使用 LLM 解释/回答一下 
 
 
不得不佩服版主,看到了差距了。继续学习ing…………
 
 Last edited by lxmxn on 2006-10-26 at 11:10 AM ]
 
 
 
 
 |  | 
|  2006-10-26 11:09 |  | 
|  | 
 
| 不得不爱 超级版主
 
          我爱DOS
 
 
 积分 5310
 发帖 2044
 注册 2005-9-26
 来自 四川南充
 状态 离线
 |  | 
|  2006-10-26 20:52 |  | 
|  | 
 
| NaturalJ0 银牌会员
 
      
 
 
 积分 1181
 发帖 533
 注册 2006-8-14
 状态 离线
 |  | 
|  2006-10-26 20:53 |  | 
|  | 
 
| redtek 金牌会员
 
       
 
 
 
 积分 2902
 发帖 1147
 注册 2006-9-21
 状态 离线
 | 
| 『第 7 楼』:
 
 
使用 LLM 解释/回答一下 
 
 
精彩!学习了~:) 
 
 
 
 
 |  
                  |  Redtek,一个永远在网上流浪的人……
 
 _.,-*~'`^`'~*-,.__.,-*~'`^`'~*-,._,_.,-*~'`^`'~*-,._,_.,-*~'`^`'~*-,._
 |  | 
|  2006-10-26 21:00 |  | 
|  | 
 
| 9527 银牌会员
 
      努力做坏人
 
 
 积分 1185
 发帖 438
 注册 2006-8-28
 来自 北京
 状态 离线
 | 
| 『第 8 楼』:
 
 
使用 LLM 解释/回答一下 
 
 
我也顺便来一个吧,
 @echo off&setlocal
 for /f "tokens=*" %%a in ('echo 12345^&more^<test.txt') do (
 if not defined a (>test.txt echo %%a&set a=1) else >>test.txt echo %%a )
 
 谢谢版主提醒
 
 Last edited by 9527 on 2006-10-27 at 01:26 AM ]
 
 
 
 
 
 |  
                  |  我今后在论坛的目标就是做个超级坏人!!!
 |  | 
|  2006-10-26 22:06 |  | 
|  | 
 
| lxmxn 版主
 
         
 
 
 积分 11386
 发帖 4938
 注册 2006-7-23
 状态 离线
 |  | 
|  2006-10-27 00:02 |  | 
|  | 
 
| 不得不爱 超级版主
 
          我爱DOS
 
 
 积分 5310
 发帖 2044
 注册 2005-9-26
 来自 四川南充
 状态 离线
 |  | 
|  2006-10-27 01:03 |  | 
|  | 
 
| vkill 金牌会员
 
       
 
 
 
 积分 4103
 发帖 1744
 注册 2006-1-20
 来自 甘肃.临泽
 状态 离线
 |  | 
|  2006-10-27 01:23 |  | 
|  | 
 
| NaturalJ0 银牌会员
 
      
 
 
 积分 1181
 发帖 533
 注册 2006-8-14
 状态 离线
 | 
| 『第 12 楼』:
 
 
使用 LLM 解释/回答一下 
 
 
9527 能想到这样用真是厉害。不过好像空行被忽略了。有没办法改进下呢?
 PS:既然已经想到连用,可能顺便加上一句删除也不错,这样后面就不用定义变量 a 了。
 
 Last edited by NaturalJ0 on 2006-10-27 at 02:22 AM ]
 
 
 
 
 |  | 
|  2006-10-27 01:54 |  | 
|  | 
 
| 不得不爱 超级版主
 
          我爱DOS
 
 
 积分 5310
 发帖 2044
 注册 2005-9-26
 来自 四川南充
 状态 离线
 |  | 
|  2006-10-27 04:28 |  | 
|  | 
 
| wtp791211 初级用户
 
   
 
 
 
 积分 34
 发帖 20
 注册 2006-10-15
 状态 离线
 |  | 
|  2006-10-27 04:54 |  | 
|  | 
 
| xycoordinate 中级用户
 
    
 
 
 积分 493
 发帖 228
 注册 2007-2-16
 来自 安徽
 状态 离线
 |  | 
|  2007-3-10 02:34 |  |