2015-05-27 4 views
-1

Все, что я нашел в Интернете было способами, чтобы написать текущей даты в строку, используя get-date.toString()Как конвертировать CreationTime файла в строку в Powershell

То, что я хочу сделать, это прочитать CreationDate и время из файла и преобразующая это в String для имени каталога.

Было бы достаточно, если бы я мог сохранить различные части CreationTime в отдельные переменные.

т.д .: $Year, $Month, $Day, $Hour и т.д.

Как бы я идти о делать это?

ответ

1

См https://technet.microsoft.com/en-us/library/ee692801.aspx.

т.е.

(gi C:\temp\trim.csv).CreationTime.ToString('ddd MM dd yyyy') 

даст вам строку «ср 05 27 2015»

UPD: или если вы хотите использовать строку в качестве имени каталога просто удалить пробелы.

(gi C:\temp\trim.csv).CreationTime.ToString('dddMMddyyyy') 

и получить "Wed05272015"

+0

Я верю, что он хотел использовать дату создания файла в качестве имени каталога, поэтому нет необходимости разрывать свойства, я обновил свой ответ. –

+0

Вы правы. Я неправильно понял первоначальное требование и зафиксировал компромисс. – Matt

+0

Этот ответ работает, но я бы использовал строку формата «yyyy-MM-dd», и я бы сохранил результат в некоторой переменной, как $ dirname. –

1
$file = get-item c:\myfile.txt 

$year = $file.creationtime.year 
$month = $file.creationtime.month 
$day = $file.creationtime.day 
$hour = $file.creationtime.hour 

и так далее ...

использование $file.CreationTime | fl * для получения списка доступных свойств

+0

Угу. Нет необходимости создавать переменные. Свойства уже существуют. – Matt

+0

Этот ответ правильный, если вы просто пропустите (ненужный) шаг установки переменных $ year, $ month, $ day и вместо этого используйте членов CreationTime. –