Creazione di una cartella denominata dopo la data e l'ora correnti


3

Sto provando a creare uno script PowerShell che crea una nuova cartella con la data corrente (formattata come aaaa-MM-gg) come nome.

Ecco cosa ho finora:

PS C:\Users\me\Desktop> powershell.exe -command "new-item ($(get-location)
+ (Get-Date).year + "-" + (Get-Date).month + "-" + (Get-Date).day) -type directo
ry"
Die Benennung "C:\Users\me\Desktop" wurde nicht als Name eines Cmdlet, ein
er Funktion, einer Skriptdatei oder eines ausführbaren Programms erkannt. Überp
rüfen Sie die Schreibweise des Namens, oder ob der Pfad korrekt ist (sofern ent
halten), und wiederholen Sie den Vorgang.
Bei Zeile:1 Zeichen:35
+ new-item (C:\Users\me\Desktop <<<<  + (Get-Date).year +  - + (Get-Date).
month + - + (Get-Date).day) -type directory
+ CategoryInfo          : ObjectNotFound: (C:\Users\j.moore\Desktop:String
) [], CommandNotFoundException
+ FullyQualifiedErrorId : CommandNotFoundException

Risposte:


3

Prova questo:

 New-Item "$((get-date).toString('yyyy-MM-dd'))" -ItemType directory

o:

md "$((get-date).toString('yyyy-MM-dd'))"

Spiegazione da questo sito :

$ () consente di utilizzare l'output di un comando in una stringa

Il () intorno a get-date di nuovo dice "Esegui prima questo" in modo che possiamo usare i metodi dell'oggetto DateTime restituiti da get-date

il metodo toString () di un oggetto DateTime accetta una stringa di formattazione come input.


L'uso di una stringa espandibile con una sottoespressione è più complicato del necessario.
Jay Bazuzi,

Mentre (Get-Date).ToString(...)funziona, Get-Date -Format ...PowerShell è più idiomatico.
Jay Bazuzi,

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.