Что эквивалентно в /dev/null
Windows?
414
Я думаю, что вы хотите NUL
, по крайней мере, в командной строке или пакетных файлов.
Например:
type c:\autoexec.bat > NUL
не создает файл.
(Я верю, что то же самое верно, если вы пытаетесь создать файл программно, но я не пробовал.)
В PowerShell вы хотите $null
:
echo 1 > $null
/dev/random
и/dev/zero
драйвера устройств для Win32.NUL:
(иCON:
,PRN:
...), это в основном вопрос стиля и ясно показывает , чтоNUL:
это специальный объект , а не файл с именемNUL
. Кроме того, с помощью специального API можно создать файл с именемNUL
(см. Один из ответов). Я мечтаю, что, может быть, однажды, если все будут использовать двоеточие по соглашению, мы сможем осудить страшные имена специальных устройств :-)Согласно этому сообщению в списке рассылки GCC , вы можете использовать файл "nul" вместо / dev / null:
(Кредиты Дэнни за этот код; скопированы из его сообщения.)
Вы также можете использовать этот специальный файл "nul" через перенаправление.
источник
C:\dev
каталог в Windows и используете много утилит GNU, вы в конечном итоге получите таинственный файл с именем null в этом каталоге.NUL
в Windows, кажется, на самом деле виртуальный путь в любой папке. Так же , как..
,.
в любой файловой системе.Используйте любую папку с NUL будет работать.
Пример,
имеют тот же эффект, что и
/dev/null
в Linux.Это было проверено на Windows 7, 64 бит.
источник
md \\.\c:\nul
quora.com/... , gohacking.com/how-to-create-con-folder-in-windows , superuser.com/questions/86999/…nul
Джон Скит прав. Вот страница Nul Device Driver в документации Windows Embedded (я понятия не имею, почему это не где-то еще ...).
Вот еще один:
источник
NUL
работает программно, а также. Например, следующее:работает как положено без создания файла. (MSVC ++ 12.0)
источник
NUL
, и это было позади этого момента 5 лет назад.Если вам нужно выполнить в Microsoft Windows эквивалент символической ссылки
/dev/null
в Linux, которую вы откроете,cmd
введите администратор и введите:Для файлов:
Или для каталогов:
Это будет держать файл / direcotry всегда в 0 байт, и все равно возвращать успех при каждой попытке записи.
источник
Для этого вы должны использовать start и $ NUL в Windows PowerShell :
Введите эту команду, предполагая, что
mySum
это имя вашего приложения и5
10
аргументы командной строки, которые вы отправляете.Команда
start
запустит отдельный процесс, аналогичный эффекту&
. Эта/B
опция запрещает запуску открытия нового окна терминала, если запущенная программа является консольным приложением. иNUL
является эквивалентом Windows/dev/null
. The2>&1
в конце перенаправит stderr в stdout, который все пойдет вNUL
.источник