Respostas:
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
NUL:
(e CON:
, PRN:
...), é principalmente uma questão de estilo e mostra claramente que esse NUL:
é um objeto especial e não um arquivo chamado NUL
. Além disso, é possível com uma API especial criar um arquivo chamado NUL
(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:
#include <stdio.h>
int main ()
{
FILE* outfile = fopen ("/dev/null", "w");
if (outfile == NULL)
{
fputs ("could not open '/dev/null'", stderr);
}
outfile = fopen ("nul", "w");
if (outfile == NULL)
{
fputs ("could not open 'nul'", stderr);
}
return 0;
}
(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.
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,
echo 1 > nul
echo 1 > c:\nul
echo 1 > c:\users\nul
echo 1 > c:\windows\nul
tem o mesmo efeito que /dev/null
no Linux.
Isso foi testado no Windows 7, 64 bits.
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:
NUL
funciona programaticamente também. Por exemplo, o seguinte:
freopen("NUL", "w", stderr);
funciona como esperado sem criar um arquivo. (MSVC ++ 12.0)
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 administrador cmd
e digite:
Para arquivos:
mklink c:\path\to\file.ext NUL:
Ou, para diretórios:
mklink /D c:\path\to\dir NUL:
Isso manterá o arquivo / diretório sempre em 0 byte e ainda retornará êxito a todas as tentativas de gravação.
Você precisa usar start e $ NUL para isso no Windows PowerShell :
Digite este comando assumindo que mySum
é o nome do seu aplicativo e os 5
10
argumentos da linha de comando que você está enviando.
start .\mySum 5 10 > $NUL 2>&1
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. e NUL
é equivalente ao Windows /dev/null
. O 2>&1
final redirecionará o stderr para o stdout, que irá todos para NUL
.