Erstellen eines Ordners, der nach dem aktuellen Datum und der aktuellen Uhrzeit benannt ist


3

Ich versuche ein Powershell-Skript zu erstellen, das einen neuen Ordner mit dem aktuellen Datum (formatiert als JJJJ-MM-TT) als Name erstellt.

Folgendes habe ich bisher:

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

Antworten:


3

Versuche dies:

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

oder:

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

Erklärung von dieser Seite :

Mit $ () können Sie die Ausgabe eines Befehls in einer Zeichenfolge verwenden

Das () um get-date sagt wieder "Execute this first", damit wir die von get-date zurückgegebenen Methoden des DateTime-Objekts verwenden können

Die toString () -Methode eines DateTime-Objekts verwendet eine Formatierungszeichenfolge als Eingabe.


Die Verwendung einer erweiterbaren Zeichenfolge mit einem Unterausdruck ist komplizierter als erforderlich.
Jay Bazuzi

Während (Get-Date).ToString(...)funktioniert, Get-Date -Format ...ist mehr idiomatische PowerShell.
Jay Bazuzi

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.