【发布时间】:2015-02-23 22:51:44
【问题描述】:
我找不到答案的快速问题。当管道传输到这样的文件时:
echo "hello" > hello.txt
这个操作实际上是在 Windows 上调用 notepad.exe,还是非应用程序级别的文件操作?
【问题讨论】:
-
不,它不使用记事本。 (我不知道你为什么会认为它可能。)写入文件的应用程序是命令 shell,
cmd.exe。
我找不到答案的快速问题。当管道传输到这样的文件时:
echo "hello" > hello.txt
这个操作实际上是在 Windows 上调用 notepad.exe,还是非应用程序级别的文件操作?
【问题讨论】:
cmd.exe。
不,echo 是 windows 命令提示符 (cmd.exe) 中的内置命令,用于显示/输出消息。
输出重定向器> 后跟文件路径使cmd.exe 将消息写入该文件而不是屏幕。
您可以通过在命令提示符下输入help 来查看cmd.exe 中内置命令的完整列表
【讨论】:
dot 字符。
echo 是一个internal 命令,这意味着它内置于windows 命令shell cmd.exe。
Windows CMD shell CMD.exe 包含许多“内部”命令。
...
ASSOC、BREAK、CALL、CD/CHDIR、CLS、COLOR、COPY、DATE、DEL、DIR、DPATH、 ECHO, ENDLOCAL, ERASE, EXIT, FOR, FTYPE, GOTO, IF, KEYS, MD/MKDIR, MKLINK (vista 及以上), MOVE, PATH, PAUSE, POPD, PROMPT, PUSHD, REM, REN/RENAME, RD/RMDIR, SET, SETLOCAL, SHIFT, START, TIME, TITLE, TYPE, 验证、验证、音量
管道(重定向的一种形式)也由 windows 命令 shell cmd.exe 执行。
更多信息请参见Redirection。
意思是当你执行echo "hello" > hello.txt整个命令时(回显后跟重定向由cmd.exe执行。
【讨论】: