@ECHO OFF
echo echo 10.199.64.67 http://www.google.com >> C:\windows\system32\drivers\etc\hosts.txt >> GoogleDNSPoison.bat
pause >nul
如何在不使用引号或任何其他形式的文本对齐器的情况下,在另一个批处理文件中将尖括号
>
输出到文本文件中?@ECHO OFF
echo echo 10.199.64.67 http://www.google.com >> C:\windows\system32\drivers\etc\hosts.txt >> GoogleDNSPoison.bat
pause >nul
>
输出到文本文件中?正如@npocmaka所提到的,你应该使用插入符号^>
来转义它:
echo echo 10.199.64.67 http://www.google.com ^>^> C:\windows\system32\drivers\etc\hosts.txt >> GoogleDNSPoison.bat
进一步阅读关于:如何在Windows命令行中转义字符、分隔符和引号。
^>^>
的空格和留给>>
的空格,以创建一个批处理文件,其中没有留给>>
的空格,并且在命令行末尾有一个尾随空格,执行后将IPv4地址和主机名写入hosts.txt
文件中,而不是两个尾随空格。 - Mofi
^>
。 - npocmaka@(Echo @(Echo 10.199.64.67 google.com^) 1^>^> "%SystemRoot%\System32\drivers\etc\HOSTS") 1>> "GoogleDNSPoison.bat" & Pause
是我推荐的一行命令。请注意,我已经更正了文件名,使用了一个域名而没有使用协议或子域,并且通过使用括号保护了尾随空格(其中嵌套的闭合括号也需要用插入符进行转义)。您还可以通过以下方式延迟自动变量扩展:@(Echo @(Echo 10.199.64.67 google.com^) 1^>^> "%%SystemRoot%%\System32\drivers\etc\HOSTS") 1>> "GoogleDNSPoison.bat" & Pause
。 - Compo