名称中带冒号的文件会发生什么变化?

时间:2014-12-11 14:53:05

标签: windows winapi curl file-io process-monitor

我不是一个普通的卷发用户,但我不时会用它来测试一些东西 所以我在命令行写这个:

curl -o:output.html www.google.com

它没有给我任何错误,看起来一切正常,但输出文件没有出现。
所以我已经启动了进程监控器并检查了发生了什么,从下面的屏幕截图中我认为很清楚我的问题是什么,但现在的问题是 - 为什么这三个操作都标记为成功? 我已经通过整个磁盘搜索文件名,但没有文件,创建文件结果被覆盖,所以看起来它实际上已经保存了。 enter image description here

1 个答案:

答案 0 :(得分:2)

" output.html"是目录(或可能是文件)的named stream" C:\ demo"。

不幸的是,copy命令不喜欢流语法,因此您无法使用它将数据复制到常规文件。你可以使用:

notepad c:\demo:output.html

并将数据保存在其他位置。

你原来的问题是卷曲语法错了。看起来curl不需要冒号,因此它将其视为文件名的一部分,导致Windows解释为流名称。

您可以使用sysinternals Stream tool列出命名流。