标题: [文本处理] [已解决]more命令输出到变量,求助去除显示内容的尾巴 [打印本页]
作者: zzz19760225 时间: 2023-9-4 23:09 标题: [已解决]more命令输出到变量,求助去除显示内容的尾巴
本帖最后由 zzz19760225 于 2023-9-5 09:54 编辑
1.txt复制代码
2.bat- @echo off
- more 1.txt ^|%a%
- echo:%a%
- pause
复制代码
执行显示- 123
- 456
- 789
- —— More (100%) ——
复制代码
只需要复制代码
请帮忙看一看,去掉这个尾巴?
作者: Nsqs 时间: 2023-9-4 23:29
方法:- @echo off
- for /f "delims=" %%1 in ('more 1.txt')do set /a n+=1&call set #%%n%%=%%1
- set #
复制代码
读取方式:- for /f "tokens=2* delims==" %%1 in ('set #')do (echo %%1)
复制代码
作者: qixiaobin0715 时间: 2023-9-5 08:44
楼主何苦非要用more呢。个人觉得楼上也是伪变量,是由3个变量分别接收3行字符,那样的话直接显示不就行了:- @echo off
- for /f "delims=" %%i in (1.txt) do echo,%%i
- pause
复制代码
如果文本文件字符不多的话,可以把整个文本设置为一个变量(包括换行),以前的大佬们是这样处理的:- @echo off
- set hh=^
-
-
- setlocal enabledelayedexpansion
- for /f "delims=" %%i in (a.txt) do (
- set "str=!str!!hh!%%i"
- )
- echo,!str!
- pause
复制代码
上面代码中的两个空行要保留,不能删除。
作者: zzz19760225 时间: 2023-9-5 09:43
本帖最后由 zzz19760225 于 2023-9-5 09:52 编辑
开始试着type 1.txt ^| %a%后面跟管道时,直接尝试用变量。然后就又想可不可以直接变量,然后只有more好些,type那个出错信息不知道怎么2>nul关闭,于是看看more有没有知道的什么参数,或其他思路。
如果直接变量最好
估计只是开始命令执行的信息,根本没有输入到变量,只是以为有输出了,变量顺序就执行了。应该问题本身就提错了,因为问题不成立。
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |