如何制作一个包含“>nul”在echo命令中的批处理文件

3
我想用以下代码制作批处理文件。
@echo off
echo ping -n5 localhost>nul >>hiddenping.bat
exit

隐藏ping.bat文件的输出结果是:
ping -n5 localhost

nul未保存在文件中

如何创建包含代码的hiddenping.bat文件

ping -n5 localhost>nul
3个回答

3

插入符号^可以帮助你转义某些字符。

@echo off
echo ping -n5 localhost^>nul >>hiddenping.bat
exit

0

我会像foxidrive建议的那样转义毒字符。

另一个选项是将所需字符串放入变量中,然后使用延迟扩展ECHO该值。

@echo off
setlocal enableDelayedExpansion
set "str=ping -n5 localhost>nul"
echo !str!>>hiddenping.bat

可以通过 FOR 变量实现类似的效果。
@echo off
for %%S in ("ping -n5 localhost>nul") do echo %%S>>hiddenping.bat

-1

你需要引用那部分你现在不想执行的代码。

echo "ping -n5 localhost>nul" >>hiddenping.bat

1
虽然这样做可以起作用,但引号最终会出现在 hiddenping.bat 文件中,可能会导致错误。 - UnknownOctopus
'"ping -n5 localhost>nul"' is not recognized as an internal or external command, operable program or batch file. - JosefZ

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接