Создание набора папок на основе дат при помощи PowerShell – Hey, Scripting Guy! Blog

Резюме: Microsoft Scripting Guy, Ed Wilson показывает как создать набор папок на основе дат, используя Windows PowerShell.

Создание папок для организации фотографий

Тереза настоятельно просила создать на нашем «неубиваемом» внешнем накопителе стандарта USB 3 набор папок. Каждый каталог должен отражать дату в своем названии. Я люблю фотографироваться, но я терпеть не могу заниматься организацией фотографий.

Определяем, сколько нам понадобится папок

Первое, что мне нужно сделать – это определить, сколько именно папок мне нужно создать. Я, конечно, могу просто посчитать, но это же прошлый век. Вместо этого я использую командлет New-TimeSpan, так как я знаю когда я уезжаю – сегодня – и когда возвращаюсь.

PS C:\> New-TimeSpan -Start (get-date) -End 12/3/12

Days : 19

Hours : 11

Minutes : 24

Seconds : 59

Milliseconds : 191

Ticks : 16826991917033

TotalDays : 19.4756850891586

TotalHours : 467.416442139806

TotalMinutes : 28044.9865283883

TotalSeconds : 1682699.1917033

TotalMilliseconds : 1682699191.7033

Теперь получаем имена каталогов из дат – это просто

Все что мне нужно сделать – это создать 19 каталогов на основе дат. Это будет включать в себя несколько повторений, поэтому я воспользуюсь командлетом Foreach-Object. Я буду получать даты при помощи метода adddays и конвертировать их в строку при помощи метода tostring. Кроме того, я могу указать необходимый мне тип строки. Ниже приведен код для получения имен папок (самим их созданием мы займемся чуть позже). Мне не нужен каталог для сегодняшней даты, поэтому я начинаю с 1. Кроме того, мы прилетаем домой 3 декабря, но из Праги мы будем возвращаться поездом, поэтому для 3 декабря тоже нужно создать папку. Таким образом мне нужно продлить цикл до 20.

PS C:\> 1..20 | % {(get-date).adddays($_).tostring(«MMddyyyy»)}

11142012

11152012

11162012

11172012

11182012

11192012

11202012

11212012

11222012

11232012

11242012

11252012

11262012

11272012

11282012

11292012

11302012

12012012

12022012

12032012

Создаем папки из дат

Теперь мне нудно создать папки на моем внешнем накопителе. Это диск F. Вместо того, чтобы просто создать папки, я воспользуюсь командлетом New-Item. В качестве типа мы укажем «directory». Поскольку я перейду на диск F, мне не нужно беспокоиться об указании полного пути. Я введу PushD для сохранения моего текущего местоположения и перейду на диск F командлетом Set-Location. После этого я создам каталоги, и, наконец, вернусь в мой рабочий каталог командой PopD.

pushd

sl f:

1..20 | % {New-Item -Name (get-date).adddays($_).tostring(«MMddyyyy») -ItemType directory}

Popd

Вот и все.

Автор:

Ed Wilson, Microsoft Scripting Guy

Оригинал:

http://blogs.technet.com/b/heyscriptingguy/archive/2012/11/13/use-powershell-to-create-a-bunch-of-folders-based-upon-the-date.aspx


Страницы в социальных сетях:

Twitter: https://twitter.com/vsseth
Facebook: https://fb.com/inpowershell
VKontakte: https://vk.com/inpowershell


Реклама

Добавить комментарий

Заполните поля или щелкните по значку, чтобы оставить свой комментарий:

Логотип WordPress.com

Для комментария используется ваша учётная запись WordPress.com. Выход /  Изменить )

Google+ photo

Для комментария используется ваша учётная запись Google+. Выход /  Изменить )

Фотография Twitter

Для комментария используется ваша учётная запись Twitter. Выход /  Изменить )

Фотография Facebook

Для комментария используется ваша учётная запись Facebook. Выход /  Изменить )

Connecting to %s