Я пытаюсь сделать следующие три шага с Powershell скрипт:Powershell: положить вчерашнюю дату в имя файла
роняйте расширение файла (.part) всех файлов, заканчивающийся с шаблоном «* flv.part». Таким образом, файлы, заканчивающиеся на «.flv.part», теперь заканчиваются просто «.flv».
Добавить вчерашнюю дату (в формате YYYYMMDD) в начале имени файла этих FLV-файлов.
Переместить эти FLV-файлы в другой каталог.
Я выяснил первый и последний шаг. Но я не могу понять средний шаг (второй шаг, когда я добавляю вчерашнюю дату в начало имени файла).
Вот что я выяснил:
cd C:\Users\appa\Desktop
Dir | Rename-Item -NewName { $_.name -replace ".part","" }
---------this step needs to add yesterday's date (in YYYYMMDD format) to filename--------
move-item -path .\*.flv -destination d:\D:\VideoCaptures
Любые идеи кто-нибудь? Я использую Windows 7 с powershell v2.
EDIT: Спасибо всем за ваш вклад! Я сделал следующий сценарий для выполнения этой задачи:
cd C:\Users\appa\Desktop
$dt_str = (get-date).AddDays(-1).tostring("yyyyMMdd")
Dir *.part | Rename-Item -NewName { $dt_str + "-" + $_.name -replace ".part","" }
move-item -path .\*.flv -destination D:\VideoCapture
EDIT: Это чисто для FYI целей ... Я уже до проголосовали полезные сообщения и ознаменовало пост как ответ, но говорит, что SU он не будет отражать мои голоса, пока я не получу 10 или что-то репутационное. Поэтому, пожалуйста, подождите, пока мои голоса не станут «видимыми»! :)
'[DateTime] :: Today.AddDays (-1) .ToString ('YYyyMmDd')' – PetSerAl
@PetSerAl Спасибо за команду! Но как я могу использовать его в начале имени файла при его переименовании? Я хочу, чтобы я сохранил остальную часть имени FLV при добавлении этой (вчерашней) даты в начале? Как мне структурировать команду -replace для этого? Было проще отключить расширение «.part», но я не могу понять, добавив это в начале. – SOuser
@ beck2haml - Вы фактически заменяете часть имени файла на вчерашнюю дату или вы просто добавляете? – Enigmativity