Добавить к имени файла дату powershell
К каждому файлу, который вы создаете или изменяете в Windows 10, прикреплены атрибуты файла, которые сообщают вам (или кому-то еще), когда файл был создан, изменен, открыт и, возможно, многое другое. Неважно, опаздываете ли вы с отправкой задания или просто пытаетесь замести следы - информация всегда будет там, если вы ее не измените.
Если вы хотите изменить такие атрибуты файла, у вас есть несколько вариантов. Вы можете использовать новую оболочку Windows PowerShell, чтобы изменить или удалить эти данные, или вы можете сделать это с помощью проводника Windows или другого стороннего приложения, такого как Attribute Changer. Вот как изменить атрибуты файла в Windows 10 с помощью этих методов.
Удаление атрибутов файла с помощью проводника Windows
Если вы хотите изменить дату последнего изменения или другие атрибуты файла в Windows 10, возможно, вы в первую очередь захотите сделать это с помощью меню « Свойства» для файла в проводнике Windows.
К сожалению, это невозможно. Вы можете просматривать и изменять определенные атрибуты файлов в проводнике, но вы не можете изменить даты последнего просмотра, редактирования или изменения. Однако он удалит другие личные данные, такие как имя автора для документов, рейтинги для файлов мультимедиа, а также установит для файла режим только для чтения или скрытие.
Чтобы изменить другие атрибуты файла, такие как дата последнего изменения, дата создания и другая важная информация о файле, вам необходимо использовать один из методов, перечисленных далее в этой статье, в частности, с помощью приложения Attribute Changer.
- Чтобы удалить определенные личные атрибуты файла, откройте проводник Windows и найдите файл. Щелкните файл правой кнопкой мыши и нажмите " Свойства" .
- В поле « Свойства» перейдите на вкладку « Сведения », затем щелкните ссылку « Удалить свойства и личную информацию» .
- Как мы уже упоминали, вы не можете удалить или изменить дату создания файла или другие важные атрибуты файла здесь. Если к вашему файлу прикреплена другая личная информация, вы можете создать копию файла с удаленной информацией, нажав кнопку « Создать копию со всеми возможными удаленными свойствами» , а затем нажмите « ОК», чтобы сохранить и выполнить действие. Копия вашего файла появится в той же папке, что и исходный файл, с удаленными выбранными вами атрибутами.
- Чтобы удалить эту информацию из существующего файла, выберите вместо этого параметр Удалить следующие свойства из этого файла, а затем выберите свойства, которые вы хотите удалить. Нажмите ОК, чтобы сохранить и удалить эту информацию из файла.
- Вы также можете использовать проводник, чтобы изменить или установить другие атрибуты файла, например, являются ли ваши файлы скрытыми или доступными только для чтения. В поле « Свойства» перейдите на вкладку « Общие », затем установите флажки « Скрытый» или « Только для чтения», чтобы включить или отключить эти параметры, затем нажмите « ОК» для сохранения.
Чтобы изменить дату последнего изменения и другие атрибуты, вам необходимо использовать другой метод, указанный ниже.
Изменение атрибутов файла с помощью PowerShell
Команда attrib из Windows PowerShell позволяет просматривать и изменять атрибуты файлов для файлов Windows 10. Он входит в стандартную комплектацию, поэтому для его использования не требуется никакого дополнительного программного обеспечения.
Это довольно сложный метод, но также весьма ограниченный. Если вам нужен более простой способ изменения атрибутов файла, используйте приложение Attribute Changer, указанное ниже.
- Для начала откройте окно PowerShell - желательно с правами администратора. Для этого щелкните правой кнопкой мыши меню «Пуск» Windows и нажмите PowerShell (Admin), чтобы запустить новое окно PowerShell с включенными правами администратора.
- Используйте команды cd и ls для перемещения папок и просмотра содержимого файлов. Оказавшись в нужной папке, вы можете перечислить все соответствующие атрибуты для вашего файла, набрав Get-ItemProperty -Path file | Format-list -Property * -Force , заменяя файл на путь к файлу.
- Вы можете использовать команду Set-ItemProperty для изменения атрибутов файла, таких как доступ только для чтения. Для этого введите Set-ItemProperty -Path file -Name IsReadOnly -Value True , заменив файл своим именем файла. Полный список возможных переменных для этой команды см. В полной документации Microsoft PowerShell .
Успешное изменение приведет к тому, что PowerShell не вернет ответа, но вы можете проверить, было ли оно успешным, набрав Get-ItemProperty -Path file | Format-list -Property * -Force еще раз или просмотрев свойства файла с помощью проводника.
Как мы уже упоминали, это не самый простой способ изменить атрибуты файла. Существуют сторонние приложения, такие как Attribute Changer, чтобы сделать это намного проще, а также позволяют вам изменить дату последнего изменения и многое другое.
Использование Attribute Changer для изменения атрибутов файлов Windows 10
Attribute Changer предлагает лучший способ изменить атрибуты файла в Windows. Наряду с типичными скрытыми атрибутами и атрибутами, доступными только для чтения, Attribute Changer позволяет изменять даты доступа и создания файлов, а также другие параметры.
Создание папок с именами, соответсвующими расширениям имеющихся файлов, но без начальной точки
Создаю папки в powershell для файлов с разными расширениями.Название папок идет как название.
Распределение файлов в папках по подпапкам с именами, соответствующими именам этих файлов
Распределение файлов в папках по подпапкам с названием подпапок как файл. например в папке 0005.
Распределение файлов в папках по подпапкам с именами, соответствующими части имен этих файлов
Есть много пдф файлов с адресами в названии ул. Комсомольская, д. 10 (1 ввод) ул.
Создание папок с именами заданных файлов и перемещение этих файлов в созданные папки
Подскажите пожалуйста как по названиям файлов txt создать папки и положить в каждую из папок файл с.
Решение
При таком названии файлы в файловом менеджере не будут идти по порядку их создания. Переставьте формат, как вам удобно:
Копирование файлов из разных каталогов в каталоги с именами, соответствующими номерам в именах файлов
Добрый день! Помогите решить проблему. Есть семь папок (cam_1, cam_2, cam_3 и.т.д) с фотографиями.
Перемещение файлов в каталоги, создаваемые в соответствии с именами или частями имён этих файлов
Добрый день. Прошу помочь. Задача: в текущем каталоге имеется N-ое кол-во файлов с определенными.
Сравнение файлов в папке и создание папок с именами файлов
Нужно пройтись по папке, если есть картинка с названием, но нет папки с таким же названием, создать.
Переименование файлов именами существующих файлов
Доброго времени суток! Помогите, пожалуйста, решить задачу. Не программист, сам бат-ники писать их.
Выделить из файла со списком файлов строки с именами htm-файлов и создать htm-файл со ссылками
Помогите с задачками! Задачи на bat-файлы: Выделить из файла со списком файлов строки с именами.
На днях мне пришлось решить небольшую задачку по наименованию резервных копий, наименование которых должно было содержать дату в формате yymmdd (две последних цифры года, две цифры месяца и две цифры дня). Используемая для создания резервных копия утилита, однако, такой формат даты в имени не поддерживает. Но поддерживает запуск исполняемых файлов до и/или после процедуры копирования. Поэтому решением стал cmd-файл (ну или bat, как вариант). Вот его пример:
Конечно, я заменил реальные имена файлов на условные. Теперь разберем что к чему. Сразу оговорюсь, что примеры в основном будут касаться файлов, но логика работы с каталогами точно такая же.
Для перевода дат в именах файлов я использовал значение текущей даты в Windows, которое записывается в виде dd.mm.yyyy. При этом отметим, что эта дата это десять символов (точки считаются), которые пронумерованы системой начиная с нуля.
создаёт переменную CURDATE (от current date) и задаёт ей значение текущей даты. Имя переменной можно выбрать произвольно, хватит и любой буквы. Кроме того, переменную можно специально и не задавать, а использовать текущую дату. Но об этом позднее.
Далее идёт команда переименования ren (или rename ). Можно использовать оба варианта написания команды. Синтаксис её выглядит так:
ren [путь_к_файлу]\[старое_имя_файла] [новое_имя_файла]
Ограничением команды rename является то, что при переименовании нельзя указать новый путь к файлу. То есть это именно переименование, а не копирование с новым именем и не перемещение с переименованием. Но, так как мне нужно было только переименовать файлы, этот вариант подходил. Далее также разберем и другие команды.
Теперь непосредственно о команде переименования:
Как видим, мы берем файл primer_%date%.zip из каталога C:\Backups\ для переименования. Например, созданный сегодня файл будет иметь имя primer_07.11.2018.zip, а завтрашний primer_08.11.2018.zip. В нашем случае это ежедневные резервные копии. Новое имя, возможно, выглядит страшно и требует расшифровки.
Напомню, что CURDATE представляет собой последовательность из десяти символов, пронумерованных от нуля до девяти, и в общем виде представляет собой текущую дату в виде dd.mm.yyyy. Таким образом, в нашем примере:
В итоге, файл primer_07.11.2018.zip превращается в d_181107_primer.zip. Что касается буквы d, то это просто указатель ежедневной копии, который я оставил в примере, чтобы показать, что можно спокойно дописывать любые символы до и после формируемой нами даты.
В конце скрипта очистим значение CURDATE
Переменную можно было и не задавать. Тогда бы мы обошлись одной строкой:
С другой стороны, если Вам не чуждо написание сложных команд, то лучше сразу заиметь привычку оперировать собственными переменными.
Как я уже говорил, вы можете записывать дату в имени файла по своему усмотрению не только при переименовании. Например, команда для создания каталога mkdir (или md ):
Здесь мы обозвали переменную не CURDATE , а просто a . Второй командой мы создали на диске C каталог с именем вида mmdd (месяц, день).
Переименование можно делать и командой move .
Этими командами мы переименовали файл primer.txt в текущем каталоге в файл primer_07_11_2018.txt (при другой дате на календаре, конечно, будет другое имя). Думаю, синтаксис уже должен быть вам понятен: два символа с нулевого, два символа с третьего и четыре с шестого.
Но, вообще, команда move это, конечно, больше про перемещение файлов и папок. Конечно же, задавать имена с датой в любом формате можно и при перемещении.
Кстати, в самом первом примере мы находили нужным нам файл с датой в имени, которая была записана в правильной по российским нормам последовательности dd.mm.yyyy, но ведь она может быть записана и другим способом. Что если в имени файла у нас только месяц и последние две цифры года? А мы хотим поставить сначала год, потом месяц, да ещё и разделить их символом _ для лучшей читаемости.
Как и в команде move , если путь к файлу или каталогу не задан явно, речь идёт о текущем каталоге. Ну и не забывайте очищать значение переменной (на самом деле, переменные, задаваемые командой set , действуют только на протяжении командной сессии, в которой они были заданы 😉 ).
Читатель Алексей озадачил меня в почте проблемой бюджетных автомобильных FM-трансмиттеров. Цитирую его задачу с незначительными правками и моим скриншотом для иллюстрации.
Задача
Вы, как опытный пользователь каталогов и библиотек, можете ли подсказать как в Windows 7 восстановить правильную сортировку, а именно: взять порядок нумерации файлов по имени, и по нему создать признак по дате?
Решение
Алексей ожидал от меня решения в плоскости проводника Windows, но я прямо с телефона написал такой ванлайнер PowerShell:
- Get-ChildItem (dir) получает список файлов в папке и передает его по конвейеру.
- Sort-Object (sort) сортирует список по имени файла и передает дальше.
- Foreach-Object (%) устанавливает для каждого объекта ($_.) свойство LastWriteTime (дата изменения) равное текущей дате, которую выдает командлет Get-Date.
Если нужно изменять дату создания, используется свойство CreationTime.
В результате папка будет выглядеть примерно так. Проводник показывает дату с точностью до минуты, но и секунды будут одинаковыми.
Поскольку у файлов одинаковая дата изменения, трудно сказать, как поведет себя устройство воспроизведения. Не исключено, что оно будет проигрывать файлы в обратном порядке, начиная с наибольшего номера.
Можно немного допилить скрипт, чтобы даты изменения файлов отличались. Для этого надо добавить для командлета Foreach-Object в начале блок со счетчиком и изменить вывод даты на (Get-Date).AddSeconds($i)
Теперь для каждого файла задается дата изменения, которая равна текущей дате плюс i секунд, где i – порядковый номер файла в списке. Можно добавлять минуты, часы, дни и т.д.
Для наглядности результат с шагом в одну минуту с помощью AddMinutes($i) .
Алексей ответил, что он не программист, а электронщик, и не знает с чем едят PowerShell и куда пихать скрипты. А получив дополнительную порцию объяснений, он, к сожалению, так и не сообщил, сумел ли применить это решение. Однако я все равно решил его опубликовать, потому что оно может пригодиться чуть более пытливым читателям :)
Метки: PowerShell, скрипты Информация в статье применима к Windows 7 и новее
Вадим - владелец этого блога, и почти все записи здесь вышли из-под его пера. Подробности о блоге и авторе здесь. Поддержать автора вы можете тут.
Вас также может заинтересовать:
Подпишитесь на канал и читайте интересные записи чаще! Есть вопросы? Задайте их в чате.
комментариев 17
Действительно красиво. Читать. C пользоваться, не все так очевидно. Особенно пользоваться регулярно. Нужна интеграция в GUI. А еще лучше, срабатывание по событию. Например по факту размонтирования флешки.
Ваша оценка: 0 Ваша оценка: +2Согласен. Просто вижу ошибку не в решении задачи, а в постановке. Не что нужно делать, а что нужно Сделать один раз, чтобы всегда слушать по порядку. Подзадача решена. Теперь надо решить задачу.
Ваша оценка: 0 Ваша оценка: 0Алексей, конечно, свинтус. Не понимаю таких людей.
Ваша оценка: +1Зачёт! Но вот у меня тоже были сомнения в поведении устройства при одинаковой дате.
Ваша оценка: +1Есть устойчивое подозрение, что в этом случае очерёдность будет браться из FAT.
Ваша оценка: 0Вадим, у меня задача была mp3 присвоить уникальные номера, чтобы потом можно было проиграть композицию по номеру, а не по названию, файлы названы как попало. Помню сидел на парковке в Севастополе в машине и писал скрипт на нетбуке, чтобы перед поездкой домой, в Новороссийск можно было музыку нормально слушать :-)
Ваша оценка: 0 Ваша оценка: 0Или она всегда хотела только 215? :)
Ваша оценка: 0 Ваша оценка: 0Уже ответил. Настроить систему так, чтобы больше об этом вопросе не вспоминать.
Как? Слишком общий вопрос. Телепатия не настолько развита. Если настройки самбы (а они там есть) или винды (скорее всего тоже есть) не позволяют решить c датами, попробовать доступ по ftp (благо с ним в можно работать прямо из проводника и закреплять в быстрый доступ), webDAV или что там еще поддерживает сервер. Если и это не помогло, что вряд ли, думать об автоматизации запуска переименования. А может наоборот, вначале автомтизация, а потом остальное. А может еще какие варианты существуют. Повторю, я не телепат.
Супер! просто и элегантно. давно искал что-то подобное. редактирую свои сборники в TagScanner, записываю на флешку и использую Ваш скрипт с AddMinutes($i). моя автомагнитола стала воспроизводить все по порядку. спасибо!
Ваша оценка: 0Рад, что помогло! Я когда-то очень давно сам сталкивался с подобным, но как решал не помню. PowerShell я тогда не владел, так что, наверное, в Total Commander.
Ваша оценка: +1Дата изменения будет одинаковой не для всех файлов:
Ваша оценка: +1Читайте также: