|
pinghu
中级用户
  
积分 307
发帖 130
注册 2008-2-1
状态 离线
|
『楼 主』:
如何用批处理将以下内容写入a.txt
使用 LLM 解释/回答一下
set num=0
setlocal enabledelayedexpansion
for /f "delims=" %%i in (input.txt) do call :intercept "%%i"
echo value=%str_%
pause
goto :eof
:intercept
set str=%1
set str=%str:~2,-2%
if not "%str%"=="" echo. "%str:~0,1%"|findstr "[0-9]">nul && (
set num=1&set str_=!str_!%str:~0,1%&&call :intercept " !str:~1! ")||(
if %num% equ 0 call :intercept " !str:~1! "
)
goto :eof
|
|
2008-2-6 01:21 |
|
|
terse
银牌会员
    
积分 2404
发帖 946
注册 2005-9-8
状态 离线
|
『第 2 楼』:
使用 LLM 解释/回答一下
more +1 %0>aaaa.txt &&exit
set num=0
setlocal enabledelayedexpansion
for /f "delims=" %%i in (input.txt) do call :intercept "%%i"
echo value=%str_%
pause
goto :eof
:intercept
set str=%1
set str=%str:~2,-2%
if not "%str%"=="" echo. "%str:~0,1%"|findstr "[0-9]">nul && (
set num=1&set str_=!str_!%str:~0,1%&&call :intercept " !str:~1! ")||(
if %num% equ 0 call :intercept " !str:~1! "
)
goto :eof
|

简单!简单!再简单! |
|
2008-2-6 01:31 |
|
|
pinghu
中级用户
  
积分 307
发帖 130
注册 2008-2-1
状态 离线
|
|
2008-2-6 11:36 |
|
|
pinghu
中级用户
  
积分 307
发帖 130
注册 2008-2-1
状态 离线
|
|
2008-2-6 11:59 |
|
|
slore
铂金会员
      
积分 5212
发帖 2478
注册 2007-2-8
状态 离线
|
|
2008-2-6 12:20 |
|
|
pinghu
中级用户
  
积分 307
发帖 130
注册 2008-2-1
状态 离线
|
『第 6 楼』:
使用 LLM 解释/回答一下
+5的方法我试了,还是取到文件末尾啊
我不想取道文件末尾,只想截取一个批处理文件中间的几行,用这个命令还行吗
|
|
2008-2-6 15:19 |
|
|
pinghu
中级用户
  
积分 307
发帖 130
注册 2008-2-1
状态 离线
|
|
2008-2-6 15:39 |
|
|
pinghu
中级用户
  
积分 307
发帖 130
注册 2008-2-1
状态 离线
|
『第 8 楼』:
使用 LLM 解释/回答一下
我如果写echo set num=0就会输入为空我要是写echo “set num=0”就会多出双引号
要把命令写进文本就那么难吗
|
|
2008-2-6 15:46 |
|
|
slore
铂金会员
      
积分 5212
发帖 2478
注册 2007-2-8
状态 离线
|
|
2008-2-6 16:17 |
|
|
pinghu
中级用户
  
积分 307
发帖 130
注册 2008-2-1
状态 离线
|
『第 10 楼』:
在slore的提示下我终于搞定了
使用 LLM 解释/回答一下
echo set num=0 > a.txt
echo setlocal enabledelayedexpansion >> a.txt
echo for /f "delims=" %%%%i in (input.txt) do call :intercept "%%%%i" >> a.txt
echo echo value=%%str_%% >> a.txt
echo pause >> a.txt
echo goto :eof >> a.txt
echo. >> a.txt
echo :intercept >> a.txt
echo set str=%%1 >> a.txt
echo set str=%%str:~2,-2%% >> a.txt
echo if not "%%str%%"=="" echo. "%%str:~0,1%%"^|findstr "[0-9]"^>nul ^&^& ( >>a.txt
echo set num=1^&set str_=!str_!%%str:~0,1%%^&^&call :intercept " !str:~1! ")^|^|( >>a.txt
echo if %%num%% equ 0 call :intercept " !str:~1! " >> a.txt
echo ) >> a.txt
echo goto :eof >> a.txt
|
|
2008-2-6 16:38 |
|
|
pinghu
中级用户
  
积分 307
发帖 130
注册 2008-2-1
状态 离线
|
|
2008-2-6 17:36 |
|
|
erick456
新手上路

积分 4
发帖 2
注册 2007-3-10
状态 离线
|
|
2008-2-6 17:52 |
|
|
zlp1982994
新手上路

积分 4
发帖 2
注册 2008-1-27
状态 离线
|
|
2008-2-8 17:10 |
|
|
pinghu
中级用户
  
积分 307
发帖 130
注册 2008-2-1
状态 离线
|
『第 14 楼』:
发现一个问题
使用 LLM 解释/回答一下
echo set num=0 >a.txt 执行的结果:set num=0的后面有一个空格这会影响数据的使用,解决办法:
(echo set num=0)>a.txt
|
|
2008-2-9 15:49 |
|