我找到了一个可以在批处理文件中运行的 IP 扫描程序,它将扫描结果保存到 CSV 文件中。我需要帮助命名该文件。我的目标是让 SSID(当前连接到(、日期和时间成为文件名的所有部分。连字符/破折号很好,但我更喜欢文件名中没有空格。
这是 IP 扫描仪 - https://www.nirsoft.net/utils/wireless_network_watcher.html
以下命令用于在文件名中插入日期(仅日期(,每次都将结果保存到同一文件中,覆盖以前的扫描结果。
WNetWatcher.exe/scomma "scan-results-%date:~-10,2%%date:~-7,2%%date:~-4,4%.csv">
是否可以添加标签以将时间和SSID插入文件名?
谢谢你的帮助。
如何制作文件名的基本框架 i 批处理文件 - 您需要做一些魔法来确保良好的文件名结果。 我建议调查SET
命令的文本替换功能。
@echo off
set WNW_CURDAT=%DATE%
WNetWatcher.exe /scomma "scan-results-%WNW_CURDAT%.csv"
祝你好运,如果你被卡住了,就大喊大叫。
SSID可以从netsh收集.exe并在PowerShell脚本中与Get-Date中的当前日期连接。
C:>Get-Content .Get-IPScanLogFilename.ps1
& netsh.exe wlan show interfaces |
Select-String "sSSIDs*: (.+)" |
% { "$($_.Matches.Groups[1].Value)-$(Get-Date -Format FileDateTime).csv" }
然后,cmd 脚本可以使用该脚本获取唯一的文件名。
C:>Get-Content .Get-IPScanLog.bat
@echo off
FOR /F "usebackq tokens=*" %%f IN (`powershell -NoProfile -File Get-IPScanLogFilename.ps1`) DO (SET "LOG_FILENAME=%%~f")
"C:Program Files (x86)NirSoftWireless Network WatcherWNetWatcher.exe" /scomma "%LOG_FILENAME%"