Именованные каналы с командной строкой

Можно ли передать по каналу именованный канал с помощью командной строки

dir >"\\.\pipe\my_named_pipe"

my_named_pipe - это канал, созданный приложением win32

#include <windows.h>
#include <iostream>
int main()
{
HANDLE pipe= CreateNamedPipe("\\\\.\\pipe\\my_named_pipe",PIPE_ACCESS_INBOUND,PIPE_TYPE_BYTE,1,500,500,NMPWAIT_USE_DEFAULT_WAIT,NULL);

char* buf = new char[501];
ReadFile(pipe,buf,500,NULL);
std::cout << buf << std::endl;
}

2 ответа

Решение

Я пробовал на Windows XP

dir >\\.\pipe\my_named_pipe

и это сработало правильно.

Согласно Wikipedia http://en.wikipedia.org/wiki/Named_pipe ответ "нет" для Windows и "да" для Unix. Но Windows может запускать Unix, поэтому это зависит от того, хотите ли вы запускать Unix Services. Смотрите для получения дополнительной информации http://en.wikipedia.org/wiki/Windows_Services_for_UNIX

Другие вопросы по тегам