在Windows MSDOS中使用echo、CMD和脚本定位字符串
如何组织输出,以行和列的形式显示结果?示例a:在Windows MSDOS中使用echo、CMD和脚本定位字符串,cmd,output,echo,positioning,Cmd,Output,Echo,Positioning,如何组织输出,以行和列的形式显示结果?示例a: DIR output: C:\Folder\*.* Field1 Date Time Size MidInf 2014/11/22 15:23 7664 FewInf 2014/11/22 15:23 548 Empty 2014/11/22 15:09 0 Someinf 2014/11/22 15:23 683 Empty 201
DIR output: C:\Folder\*.*
Field1 Date Time Size
MidInf 2014/11/22 15:23 7664
FewInf 2014/11/22 15:23 548
Empty 2014/11/22 15:09 0
Someinf 2014/11/22 15:23 683
Empty 2014/11/22 15:09 0
Empty 2014/11/22 15:09 0
MidInf 2014/11/22 15:23 7729
FewInf 2014/11/22 15:23 65
现在的例子是dir,但我想显示其他类型的信息
其他例子:
C:\user\binder>netstat -nao | find /i "37"
TCP 192.168.97.100:53377 23.7.112.60:443 ESTABLISHED 3260
UDP 0.0.0.0:3702 *:* 1092
UDP 0.0.0.0:3702 *:* 1828
UDP 0.0.0.0:3702 *:* 1828
UDP 0.0.0.0:3702 *:* 1092
UDP 192.168.97.100:137 *:* 4
UDP [::]:3702 *:* 1828
UDP [::]:3702 *:* 1092
UDP [::]:3702 *:* 1092
UDP [::]:3702 *:* 1828
C:\user\binder>
有可能吗
编辑:
对于仅限Windows的CMD或DOS如果将unix/linux与bash一起使用,则以列形式输出信息的最简单方法是将信息通过管道传输到bash命令“column”。例如,如果您有一个文本文件,其中包含要打印的内容列表,则您的命令将是:
more foobar.txt | column
我也经常在grep命令中使用“column”
ls | grep "foobar" | column
这将以漂亮的列式方式打印当前目录中包含“foobar”的所有文件名
有关列命令的更多信息,请在终端中键入“man column”。@ECHO OFF
SETLOCAL
调用:格式字段1 11日期10时间5大小7
对于(*.*)中的%%a为/f“代币=1,2”%%%b为(“%%~ta”)的代币,执行调用:格式%%nxa 11%%b 10%%c5%%~za-7
后藤:EOF
::按右键盘/左键盘格式化参数对
:格式
设置“空格=”
设置“行=”
:formloop
设置列=%2
如果未定义列回显(%line:~0,-1%&GOTO:EOF)
集合列=%~1
如果%2 gtr 0(设置“列=%column%%spaces%”)其他(设置“列=%spaces%%column%”)
如果%2 gtr 0(调用集“行=%%行%%%%列:~0,%2%%”)其他(调用集“行=%%行%%%%列:~%2%%”)
轮班
转到formloop
这是一个非常明显的演示。它显示了对常见疑点的敏感性;将所需大象的列宽设置为负数向左填充,正数向右填充。我假设每列之间有一个空格。报告正文的数据编组取决于所需报告的详细信息。请注意
“”
应生成一个空白列。这是什么系统?您所说的“按行和列组织”是什么意思?您当前正在运行的输出命令是什么?更改后,您希望它们看起来像什么?@jnevil使用bash的unix/linux才是最重要的,他指的是当您运行ls
命令时,例如,输出是以一种好的格式输出的,所以他基本上可以这样做吗?但现在看起来很重要仔细看,他使用的是windows,这让人困惑。我仍然不明白。标签是bash
,但命令和输出是windows命令提示符。此外,作为示例显示的输出正是windows如何输出这些命令的结果。OP希望这些输出看起来像什么?@JNevill是的,你是对的,这不是bash,而是DOS/Windows中内置的脚本语言。