art*_*stv 17 windows cmd batch-file nop
在linux中我们有makefile:
$(foreach A,a b,echo $(A) &&) true
Run Code Online (Sandbox Code Playgroud)
它工作和回声
a
b
Run Code Online (Sandbox Code Playgroud)
现在我们想将它移植到Windows.我在Windows中发现的最短命令什么都不做:
if 0==1 0
Run Code Online (Sandbox Code Playgroud)
所以makefile示例看起来像
$(foreach A,a b,echo $(A) &&) if 0==1 0
Run Code Online (Sandbox Code Playgroud)
Windows中的框中是否有任何虚拟命令(实际上什么都不做)?还是任何好的黑客?
Ray*_*hen 22
该rem命令什么都不做.
Ric*_*ven 17
call没有任何参数的命令什么都不做,并且没有任何附带效果rem.
例:
echo Wait for it...
call
echo Nothing happened!
Run Code Online (Sandbox Code Playgroud)
小智 10
旧线程,新答案.
我一直在使用,cd.当我想在Windows中做任何事情(我经常这样做),因为" 将目录更改为自己 "根本没有任何副作用,据我所见.
对于哪个虚拟命令最短没有单一的答案,因为虚拟命令有几种不同的目的(上下文),可能会导致不同的选择。从最好到最差列出。
@擅长于长度和无所事事。它在命令行末尾运行良好。
rem很棒,有时command.com它曾经是一个命令,所以即使在输入/输出重定向的情况下它也能工作。今天(中cmd.exe)它开始注释,因此它只能在命令行末尾使用;任何重定向最终也会被注释掉。
echo.即使使用输入/输出重定向也可以工作。该点不会被打印,回显状态也不会改变。如果在命令批处理的开头使用,@echo.如果您不希望虚拟命令本身回显到标准输出,则可能需要拼写它;但这对于该echo命令来说并不特殊。
cd.是 Linux 中的对应项true。框架挑战OP,它实际上做了一些特定的事情:它将ERRORLEVEL设置为0。它与重定向一起工作。
call是 Linux 中的对应项false。该命令认为它应该被告知要调用什么,但如果您没有提及任何内容,它会让您在没有任何错误消息的情况下继续,但将 ERRORLEVEL 设置为正值。它与重定向一起使用。
(本摘要借鉴了三个现有答案,以及另一个网站上另一个问题的答案。尝试一个老式的规范答案。)
| 归档时间: |
|
| 查看次数: |
12371 次 |
| 最近记录: |