2014-12-11 2 views
2

Я не обычный пользователь curl, но время от времени я использую его для проверки чего-то.
Так что я писал в командной строке:Что происходит с файлом с двоеточием в имени?

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

Он не дал мне какую-либо ошибку, выглядел как все нормально, но выходной файл не появился.
Итак, я запустил монитор процесса и проверил, что происходит, со скриншота ниже. Я думаю, что ясно, в чем была моя проблема, но теперь вопрос - почему все три операции отмечены как успешные? Я искал имя файла через весь диск, но не было файла, результат создания файла был перезаписан, поэтому похоже, что он где-то был сохранен.

ответ

2

"output.html" является named stream из справочника (или возможно файла) "C: \ demo".

К сожалению, команда copy не любит синтаксис потока, поэтому вы не можете использовать его для копирования данных в обычный файл. Вы можете использовать:

notepad c:\demo:output.html 

и сохраните данные в другом месте.

Ваша первоначальная проблема заключалась в неправильном синтаксисе завитка. Похоже, что завиток не нужен двоеточие, поэтому он рассматривал его как часть имени файла, заставляя Windows интерпретироваться как имя потока.

Вы можете указать названные потоки с sysinternals Stream tool.

Смежные вопросы