在Windows中使用回声,CMD,脚本定位字符串MSDOS

问题描述:

如何组织我的输出,显示像行和列一样的结果?例如:在Windows中使用回声,CMD,脚本定位字符串MSDOS

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 

例如现在是目录,但我笏显示其他类型的信息......

其他例如:

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

+0

这是什么系统? “按行和列组织”是什么意思?目前您正在运行的输出命令是什么,在更改后您希望它们看起来像什么? – JNevill 2014-11-22 22:38:46

+0

@JNevill它是使用bash的unix/linux,它对于它来说很重要,他意味着当你运行'ls'命令时,例如输出格式不错,基本上他怎么能这样做呢?但现在看起来更仔细一点,他正在使用窗口,现在令人困惑。 – jgr208 2014-11-22 22:40:33

+1

我还没有关注。标签是'bash',但命令和输出是Windows命令提示符。此外,作为示例显示的输出正是Windows如何输出这些命令的结果。 OP希望这些输出看起来像什么? – JNevill 2014-11-22 22:44:36

如果您使用的是带有bash的Unix/Linux操作系统,然后在列的输出信息的最简单的方法是将管道中的信息bash命令'柱'。例如,如果你有包含的东西,你要打印出列表的文本文件,你的命令是:

more foobar.txt | column 

我经常用“列”和grep命令的为好。

ls | grep "foobar" | column 

这将打印一个很好的专栏式的所有文件名在你的当前目录中包含“foobar”。

有关列命令在终端中输入'man column'的更多信息。

@ECHO OFF 
SETLOCAL 
CALL :FORMAT Field1 11 DATE 10 TIME 5 Size 7 
FOR %%a IN (*.*) DO FOR /f "tokens=1,2" %%b IN ("%%~ta") DO CALL :FORMAT %%~nxa 11 %%b 10 %%c 5 %%~za -7 

GOTO :EOF 
:: Format parameter-pairs by right-pad/left-pad 
:FORMAT 
SET "spaces=                  " 
SET "line=" 
:formloop 
SET column=%2 
IF NOT DEFINED column ECHO(%line:~0,-1%&GOTO :EOF 
SET column=%~1 
IF %2 gtr 0 (SET "column=%column%%spaces%") ELSE (SET "column=%spaces%%column%") 
IF %2 gtr 0 (CALL SET "line=%%line%%%%column:~0,%2%% ") ELSE (CALL SET "line=%%line%%%%column:~%2%% ") 
shift&SHIFT 
GOTO formloop 

下面是一个相当明显的演示。它显示了对通常嫌疑犯的敏感性;将所需要的大象的列宽设置为向左垫,将垫的右侧设置为正值。我假设每列之间有空格。编制报告主体的数据取决于所需报告的细节。请注意,""应该生成一个列。