Qual é o equivalente /dev/null
no Windows?
414
Eu acho que você quer NUL
, pelo menos dentro de um prompt de comando ou arquivos em lotes.
Por exemplo:
type c:\autoexec.bat > NUL
não cria um arquivo.
( Acredito que o mesmo seja verdade se você tentar criar um arquivo programaticamente, mas eu não tentei.)
No PowerShell, você deseja $null
:
echo 1 > $null
/dev/random
e/dev/zero
drivers de dispositivo para o Win32.NUL:
(eCON:
,PRN:
...), é principalmente uma questão de estilo e mostra claramente que esseNUL:
é um objeto especial e não um arquivo chamadoNUL
. Além disso, é possível com uma API especial criar um arquivo chamadoNUL
(consulte uma das respostas). Eu sonho que talvez um dia, se todo mundo usa o cólon por convenção, que será capaz de depreciar os nomes de dispositivo especial temidas :-)De acordo com esta mensagem na lista de correio do GCC , você pode usar o arquivo "nul" em vez de / dev / null:
(Créditos a Danny por esse código; cópia colada de sua mensagem.)
Você também pode usar esse arquivo "nul" especial através do redirecionamento.
fonte
C:\dev
diretório no Windows e usar muitos utilitários GNU, acabará adquirindo um arquivo misterioso chamado nulo nesse diretório.NUL
no Windows parece ser realmente um caminho virtual em qualquer pasta. Assim como..
,.
em qualquer sistema de arquivos.Use qualquer pasta seguida com NUL funcionará.
Exemplo,
tem o mesmo efeito que
/dev/null
no Linux.Isso foi testado no Windows 7, 64 bits.
fonte
md \\.\c:\nul
exemplo , quora.com/… , gohacking.com/how-to-create-con-folder-in-windows , superuser.com/questions/86999/…nul
Jon Skeet está correto. Aqui está a página Nul Device Driver na documentação do Windows Embedded (não faço idéia por que não está em outro lugar ...).
Aqui está outro:
fonte
NUL
funciona programaticamente também. Por exemplo, o seguinte:funciona como esperado sem criar um arquivo. (MSVC ++ 12.0)
fonte
NUL
e já passara desse ponto há cinco anos.Se você precisar executar no Microsoft Windows o equivalente a um link simbólico
/dev/null
no Linux, abra e administradorcmd
e digite:Para arquivos:
Ou, para diretórios:
Isso manterá o arquivo / diretório sempre em 0 byte e ainda retornará êxito a todas as tentativas de gravação.
fonte
Você precisa usar start e $ NUL para isso no Windows PowerShell :
Digite este comando assumindo que
mySum
é o nome do seu aplicativo e os5
10
argumentos da linha de comando que você está enviando.O
start
comando iniciará um processo desanexado, um efeito semelhante ao&
. A/B
opção impede o início de abrir uma nova janela do terminal se o programa que você está executando for um aplicativo de console. eNUL
é equivalente ao Windows/dev/null
. O2>&1
final redirecionará o stderr para o stdout, que irá todos paraNUL
.fonte