预期的语句结束错误信息记录脚本

时间:2013-12-13 15:34:25

标签: batch-file logging

这是我的剧本

echo Log In %DATE% at %TIME% with %USERNAME% FROM %COMPUTERNAME% >> \\CORONA\SHARE2\TYLER\"IP DIR"\IPS.TXT
IPCONFIG |FIND "IP" > \\CORONA\SHARE2\TYLER\"IP DIR"\IPS.TXT

基本上我需要在我们的网络上拥有它。每次我们域上的用户登录时,我都会设置一个任务序列来运行它...

我需要它来登录文档 ips.txt (不一定是那个名字,它可以是任何东西。但是位置是它需要的位置) 需要记录IP,日期,时间,用户和计算机。

有什么建议吗?我在第1行char 10中得到错误。

2 个答案:

答案 0 :(得分:0)

看起来您正在尝试创建Windows 批处理文件(而不是VBScript文件)。

因此,请为您的文件使用 .bat 扩展名,而不是 .vbs 。然后为您的新批处理文件尝试此内容:

@echo off

setlocal
set LOGFILE=\\CORONA\SHARE2\TYLER\IP DIR\IPS.LOG

for /f "usebackq delims=: tokens=2" %%i in (`ipconfig ^| findstr Address`) do (
set IP=%%i
)

echo Log In %DATE% at %TIME% as %USERNAME% from %COMPUTERNAME% with IP address%IP%>> "%LOGFILE%"

预期输出

Log In Fri 12/13/2013 at 21:50:35.48 as somebody from COMPNAME with IP address 192.168.1.101

<强>文档

以下是For keyword的文档。

答案 1 :(得分:0)

以下是获取本地计算机IPv4和IPv6连接的IP地址以及网关IP地址的方法。

@echo off
 WMIC NICConfig where "IPEnabled='True'" get Description, IPAddress, IPSubnet, DefaultIPGateway /value|FIND "="
pause

正如David在评论中指出的那样,您可以使用ping %computername%,但这会在我的Windows 8.1计算机上提供IPv6地址。