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:\devdiretório no Windows e usar muitos utilitários GNU, acabará adquirindo um arquivo misterioso chamado nulo nesse diretório.
NULno 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/nullno 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:
NULfunciona programaticamente também. Por exemplo, o seguinte:
freopen("NUL", "w", stderr);
funciona como esperado sem criar um arquivo. (MSVC ++ 12.0)
NULe já passara desse ponto há cinco anos.
Se você precisar executar no Microsoft Windows o equivalente a um link simbólico /dev/nullno Linux, abra e administrador cmde 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 10argumentos da linha de comando que você está enviando.
start .\mySum 5 10 > $NUL 2>&1
O startcomando iniciará um processo desanexado, um efeito semelhante ao &. A /Bopçã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>&1final redirecionará o stderr para o stdout, que irá todos para NUL.