nmap 输出:可变转义字符
nmap output: Variable escape character
我想用nmap
输出一个XML文件,但是没有正确的路径。
这是1.txt
:
192.168.1.0/24
192.168.5.0/24
...
这是我的代码:
@echo off
for /f "tokens=*" %%a in (1.txt) do (
nmap -o -v %%a -oX %%a
)
pause
会显示错误
nmap Failed to open normal output for writing QUITTING
我知道是路径问题,因为找不到输出文件(192.168.1.0/24.xml
)
输出%%a
变量时如何转义192.168.1.0/24
中的/
?因为我想要像 192.168.1.0/24.xml
.
这样的输出文件名
正斜杠是 reserved character that can't be used in a filename. Replace it with something valid (e.g. an underscore). Enable delayed expansion 使替换在 for
循环内工作。
@echo off
setlocal EnableDelayedExpansion
for /f "tokens=*" %%a in (1.txt) do (
set "net=%%a"
set "filename=!net:/=_!.xml"
nmap -o -v !net! -oX "!filename!"
)
pause
这将为您提供类似于 192.168.1.0_24.xml
的输出文件名。文件名 192.168.1.0/24.xml
在 Windows.
上根本不可能
我想用nmap
输出一个XML文件,但是没有正确的路径。
这是1.txt
:
192.168.1.0/24 192.168.5.0/24 ...
这是我的代码:
@echo off
for /f "tokens=*" %%a in (1.txt) do (
nmap -o -v %%a -oX %%a
)
pause
会显示错误
nmap Failed to open normal output for writing QUITTING
我知道是路径问题,因为找不到输出文件(192.168.1.0/24.xml
)
输出%%a
变量时如何转义192.168.1.0/24
中的/
?因为我想要像 192.168.1.0/24.xml
.
正斜杠是 reserved character that can't be used in a filename. Replace it with something valid (e.g. an underscore). Enable delayed expansion 使替换在 for
循环内工作。
@echo off
setlocal EnableDelayedExpansion
for /f "tokens=*" %%a in (1.txt) do (
set "net=%%a"
set "filename=!net:/=_!.xml"
nmap -o -v !net! -oX "!filename!"
)
pause
这将为您提供类似于 192.168.1.0_24.xml
的输出文件名。文件名 192.168.1.0/24.xml
在 Windows.