2014-09-18 8 views
7

Piszę skrypt programu PowerShell. Chciałbym wiedzieć, jak utworzyć folder z aktualną datą jako nazwa. Nazwa folderu powinna mieć postać "rrrr-MM-dd" (zgodnie z ciągami w formacie niestandardowym .NET).Utwórz folder z bieżącą datą jako nazwą w grze Power Shell.

wiem, że aby utworzyć folder, trzeba użyć polecenia:

New-Item -ItemType directory -Path "some path" 

Możliwym rozwiązaniem mogłoby być (jeśli chcę, aby utworzyć folder w tym samym katalogu co skrypt jest:

$date = Get-Date 
$date = $date.ToString("yyyy-MM-dd") 
New-Item -ItemType directory -Path ".\$date" 

Czy istnieje sposób do łańcucha polecenia, więc nie trzeba utworzyć zmienną?

Odpowiedz

14

Tak.

New-Item -ItemType Directory -Path ".\$((Get-Date).ToShortDateString())" 

lub jako sugerowane przez alroc, aby uzyskać to samo formatowanie bez względu na kulturę.

New-Item -ItemType Directory -Path ".\$((Get-Date).ToString('yyyy-MM-dd'))" 
+1

Dzięki, to jest to, czego szukałem. Jedynym problemem w twoim rozwiązaniu jest krótka data, ponieważ zależy to od języka użytkownika. Napraw to ToString ("rrrr-MM-dd"), abym mógł przyjąć twoją odpowiedź. – Santhos

+0

Nie możesz się ruszyć? ;) Alroc wysłał odpowiedź, która może zadziałać dla ciebie. Dla mnie dostałem dokładnie to, czego szukasz i nie zastanawiałem się nad tym dwa razy. – notjustme

+0

Nie byłem pewien co do "" i "" i chciałbym zaznaczyć twoje pytanie jako prawidłowe. – Santhos

9

Nie używaj ToShortDateString() jako @notjustme wrote; jego formatowanie zależy od ustawień regionalnych i formatu daty w regionalnym panelu sterowania językiem &. Na przykład na moim komputerze PC, który będzie teraz produkował następującą nazwę katalogu:

C:\Users\me\09\18\2014 

Jawnie ustaw format ciągu daty zamiast tego.

New-Item -ItemType Directory -Path ".\$((Get-Date).ToString('yyyy-MM-dd'))" 
+0

Właśnie skomentowałem to na @ niejustej odpowiedzi. – Santhos

0

Krótszy jest

$date = get-date -Format yyyy-mm-dd