【发布时间】:2014-12-24 14:04:23
【问题描述】:
我必须在 MS-Command 提示符下编写一个 .Bat 文件,以从一个包含 100 个日志文件的文件夹中提取 2 个特定字符串“用户名”和“上次登录时间”,每个日志文件都有这 2 个内容。输出必须打印到 csv 文件报告中才能保存在某处。
echo Processing user's last login time. Please wait...
S:
cd log_files
for %G IN (*.txt) do (findstr /i "Username: Log-In" "%G" >> S:\Sourav\GIS_Login_Time.txt)
echo Execution Complete.
echo Output file created in C:\data folder.
pause
输出文件(txt 格式)如下:
*** OS Username: ADIELA
*** GIS Username: adiela ( Laura Adie - Horizons, Bullion )
*** Log-In Time: 21/07/2014 06:37:20
*** OS Username: allanj1
*** GIS Username: allanj ( Jim Allan - Shared access Lomond House )
*** Log-In Time: 17/12/2014 11:44:22
...
您能否建议如何修改输出(现在进入文本文件)以进入 csv 文件?输出文件必须有 3 列。 1) 操作系统用户名 2) GIS 用户名 3) 登录时间。 如果我能得到一些有价值的建议,我将不胜感激。 提前谢谢你:)
【问题讨论】:
-
当您可以使用 PowerShell 时,为什么还要使用 shell 脚本(批处理)?
标签: batch-file csv cmd output findstr