Powershell mkdir silenzioso


9

C'è un modo per usare mkdir (aka md) in PowerShell senza output dettagliato? Attualmente, l'output è il seguente:

PS C:\Users\myusername> mkdir foobar


    Directory: C:\Users\myusername


Mode                LastWriteTime     Length Name
----                -------------     ------ ----
d----        2016-12-07   9:35 AM            foobar
PS C:\Users\myusername>

A meno che non ci sia un errore da segnalare, mi piacerebbe che fosse silenzioso, come in

PS C:\Users\myusername> mkdir foobar
PS C:\Users\myusername>

C'è un modo per fare questo? Sto usando Powershell versione 2.


4
Che ne dici | Out-Null?
PetSerAl,

In quale contesto vorresti che fosse silenzioso? Solo in una posizione specifica in uno script o sempre?
Seth,

PetSerAl - Funziona. Conserva anche gli errori (almeno, non reindirizza lo standard a null)

Seth - Solo in uso interattivo. Non è un problema serio, ma ho scoperto che l'output dettagliato rende più difficile la lettura dei comandi precedenti, soprattutto perché mi costringe a scorrere la finestra del prompt dei comandi più in alto di quanto avrei altrimenti bisogno.

2
mkdir | out-null, mkdir > $null, $null = mkdir, [void]mkdirSono le opzioni, io uso sempre > $nullperché è più veloce rispetto | out-null- vedere questo per riferimento stackoverflow.com/questions/5260125/...
Simons

Risposte:


9

PetSerAl è corretto, aggiunto da SimonS
Out-Nullè la soluzione migliore, ma come SimonS ha dichiarato > $nullè più veloce


Grazie! Avrei contrassegnato la risposta di PetSerAl come corretta, ma poiché non ci riesco, questo mi fa i complimenti.

no, non funziona in PS per la vittoria 10.
FizxMike

Invece, questo sembra fallire silenziosamente: [system.io.directory] :: CreateDirectory ("C: \ test")
FizxMike

1
@FizxMike mi dispiace appena visto questo, funziona per me abbastanza regolarmente su Windows 10.
Lachie White

1

Solo per aggiungere un'altra soluzione: mkdirrestituisce un oggetto e se eseguo il codice qui sotto, non ho alcun output. Inoltre, posso utilizzare $dirper creare il mio output, se necessario

$dir = mkdir c:\foo\bar

Come nota a margine, ho testato questa versione di PowerShell

PS> $PSVersionTable.PSVersion

Major  Minor  Build  Revision
-----  -----  -----  --------
5      1      15063  1155
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.