Board logo

标题: 有谁帮我写一个以HTML格式输出的批处理 [打印本页]

作者: zouzhxi     时间: 2006-9-23 05:03    标题: 有谁帮我写一个以HTML格式输出的批处理

有没有人试过把批处理的结果输出为HTML格式的,文件,,,因为在局域网里面有时要用到查询,,,想自己动生成一个有自己所需要的东西的网页......下面是我从别的论坛上截下来的图片.....

能不能帮我写一个,,,我试了一下,,,,如HTML文件里边的<>/这些符号都输入不出来,,,,有谁帮我写一个....作为列子....
附件 1: dddd.JPG (2006-9-23 05:03, 31.51 K, 下载附件所需积分 1点 ,下载次数: 4)



作者: namejm     时间: 2006-9-23 06:01
  要把敏感字符写到文本中去,就需要在敏感字符前用转义符号^来处理,而单个的百分号可以在其前面加一个脱字符号%来写入文本,比如,echo ^|>test.txt 语句可以把管道符号 | 写到test.txt中去, echo %%var%%>test.txt 可以把字符串 %var% 写入文本。我不熟悉网页代码的编写,请用网页软件先做出类似的网页之后,再用echo语句把网页源代码写到一个网页文件中去,注意用变量替换其中的值。其他问题请自行解决。
作者: electronixtar     时间: 2006-9-23 06:31
有一个经典的老贴是专门将HTML输出的
作者: vkill     时间: 2006-9-23 07:09
要我的话我用 amejm 说的办法
作者: namejm     时间: 2006-9-23 07:14


  Quote:
Originally posted by electronixtar at 2006-9-23 06:31:
有一个经典的老贴是专门将HTML输出的

  经典老帖在这里:  [转贴][讨论]生成《CMD命令速查手册》的批处理

  另外,楼上的兄弟把我的ID说错了哈。该打PP。
作者: vkill     时间: 2006-9-23 07:26
呵呵,怎么少打了个字母,哎,真不认真,我错了
作者: pengfei     时间: 2006-9-23 07:42
楼主已经做出了网页格式, 把网页源码重定向到.htm文件就行了.

如现的特殊字符用^来转义. 要显示的内容都用变量代替. 批处理脚本把处理的信息赋于不同的变量, 这样就可以生成1楼的网页格式了.
作者: zouzhxi     时间: 2006-9-23 09:44
可以了..我会了...谢谢大家....
作者: 3742668     时间: 2006-9-23 09:49

@echo off
setlocal ENABLEDELAYEDEXPANSION
:start
    call :getinfo
    :loop
        ping 127.1 -n 1 2>nul 1>nul
        if "%diskfree%" == "" goto loop
    call :write
    start info.html
goto :eof

::**************************************************************
::                         采集信息
::**************************************************************
:getinfo
    echo 正在采集信息,请稍候...
    call :select "ip address" "ip"
    call :select "Physical Address" "mac"
    call :select "Default Gateway" "gateway"
    call :select "DNS Servers" "dns"
    call :select "Description" "netcard"
    for /f "delims=" %%i in ('ver') do set "osver=%%i"
    for /f "delims=" %%i in ('wmic logicaldisk where "Description='本地固定磁盘'" get caption^,freespace ^| findstr /v /i "caption"') do set "diskfree=!diskfree!%%ikb^^<br^^>"
goto :eof


::**************************************************************
::              解析ipconfig命令输出通用函数
::**************************************************************
:select
    for /f "tokens=2 delims=:" %%i in ('ipconfig /all ^| findstr /i /c:%1') do if "!%~2!" == "" set "%~2=%%i"
goto :eof

::**************************************************************
::                     生成网页格式文件
::**************************************************************
:write
>info.html echo ^<html^>^<center^>^<font size=10^>计算机信息^</font^>
>>info.html echo ^<p^>今天是%date%^<p^>
>>info.html echo ^<table width="40%%" border=1 bgcolor="darkcyan"^>
>>info.html echo ^<tr^>^<td width="25%%"^>用户名:^</td^>^<td^>%username%^</td^>^</tr^>
>>info.html echo ^<tr^>^<td width="25%%"^>计算机名:^</td^>^<td^>%userdomain%^</td^>^</tr^>
>>info.html echo ^<tr^>^<td width="25%%"^>IP地址:^</td^>^<td^>%ip%^</td^>^</tr^>
>>info.html echo ^<tr^>^<td width="25%%"^>MAC地址:^</td^>^<td^>%mac%^</td^>^</tr^>
>>info.html echo ^<tr^>^<td width="25%%"^>网关地址:^</td^>^<td^>%gateway%^</td^>^</tr^>
>>info.html echo ^<tr^>^<td width="25%%"^>DNS:^</td^>^<td^>%dns%^</td^>^</tr^>
>>info.html echo ^<tr^>^<td width="25%%"^>硬盘^<br^>剩余^<br^>空间^</td^>^<td^>%diskfree%^</td^>^</tr^>
>>info.html echo ^</table^>^<table width="40%%" border=1 bgcolor="darkcyan"^>
>>info.html echo ^<tr^>^<td^>^<font size=5^>您的操作系统版本号为:^</font^>^</td^>^</tr^>
>>info.html echo ^<tr^>^<td^>^<font size=4^>%osver%^</font^>^</td^>^</tr^>
>>info.html echo ^<tr^>^<td^>^<font size=5^>网卡型号:^</font^>^</td^>^</tr^>
>>info.html echo ^<tr^>^<td^>^<font size=4^>%netcard%^</font^>^</td^>^</tr^>
>>info.html echo ^</table^>^</center^>^</html^>
goto :eof
1.参考你的例子,只获取内网信息。
2.硬盘剩余空间单位为kb,不过你可以自己修改,参考:[已结]如何显示磁盘的剩余空间?
3.以上代码只做参考,并不代表最优方案。
作者: qq82015930     时间: 2006-10-12 12:28
哇好帅