Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Компьютеры + Интернет » Хочу все знать » Присвоить дате изменения папке новую дату

Ответить
Настройки темы
Присвоить дате изменения папке новую дату

Новый участник


Сообщения: 25
Благодарности: 0

Профиль | Отправить PM | Цитировать


Как присвоить дате изменения папки дату её создания (папок много - так что для всех бы)

и второй вариант посложнее
Как присвоить папке дату изменения равную дате лежащего в ней файла

Отправлено: 13:46, 06-01-2016

 

Аватара для Charg

Ветеран


Сообщения: 2798
Благодарности: 469

Профиль | Отправить PM | Цитировать


Цитата ALARMus:
Как присвоить дате изменения папки дату её создания (папок много - так что для всех бы) »
http://www.petges.lu/home/download/
Это сообщение посчитали полезным следующие участники:

Отправлено: 14:06, 06-01-2016 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Ветеран


Сообщения: 27449
Благодарности: 8086

Профиль | Отправить PM | Цитировать


Цитата ALARMus:
и второй вариант посложнее
Как присвоить папке дату изменения равную дате лежащего в ней файла »
Скриптом на PowerShell, по типу:
Код: Выделить весь код
$sSourceFolder = 'C:\Мои проекты\02\Мама мыла раму'
$sSourceFile   = 'Мы не рабы.txt'

if(Test-Path -Path $sSourceFolder -PathType Container) {
    $oDirectoryInfo = Get-Item -Path $sSourceFolder
    
    $sSourceFilePath = Join-Path -Path $sSourceFolder -ChildPath $sSourceFile
    
    if(Test-Path -Path $sSourceFilePath -PathType Leaf) {
        $oDirectoryInfo.LastWriteTime = (Get-Item -Path $sSourceFilePath).LastWriteTime
    } else {
        # Not found
    }
} else {
    # Not found
}
Это сообщение посчитали полезным следующие участники:

Отправлено: 15:33, 06-01-2016 | #3


Новый участник


Сообщения: 25
Благодарности: 0

Профиль | Отправить PM | Цитировать


Цитата Iska:
Скриптом на PowerShell, по типу: »
Спасибо.
Только вот надо проделать это в такой структуре:

Папка содержит множество папок, каждая из которых содержит в себе файл. Т.е. присвоить для всех папок содержащих файл.
К примеру Папка Film4 содержит кучу папок (названных по имени фильма) и в каждой такой "именной" папке лежит собственно видео файл.

Отправлено: 16:14, 06-01-2016 | #4


Аватара для Казбек

Ветеран


Сообщения: 5380
Благодарности: 1874

Профиль | Отправить PM | Цитировать


ALARMus,
BulkFileChanger

-------
Кто реку перешел, тому росы бояться ни к чему

Это сообщение посчитали полезным следующие участники:

Отправлено: 16:23, 06-01-2016 | #5


Ветеран


Сообщения: 27449
Благодарности: 8086

Профиль | Отправить PM | Цитировать


Цитата ALARMus:
Спасибо.
Только вот надо проделать это в такой структуре: »
ALARMus, это был примеркак это делается, а не готовый под Ваши условия скрипт.

Цитата ALARMus:
Т.е. присвоить для всех папок содержащих файл. »
Какой именно файл? Например, в папке два файла. Какой из них выбрать?

Цитата ALARMus:
и в каждой такой "именной" папке лежит собственно видео файл. »
«видео файл» — понятие растяжимое. Нужна конкретика.

Отправлено: 02:51, 07-01-2016 | #6


Ветеран


Сообщения: 27449
Благодарности: 8086

Профиль | Отправить PM | Цитировать


Вот общий принцип:
Код: Выделить весь код
$sSourceFolder = 'C:\Мои проекты\02'

if(Test-Path -Path $sSourceFolder -PathType Container) {
    Get-ChildItem -Path $sSourceFolder | Where-Object -FilterScript {$_.PSIsContainer} | ForEach-Object -Process {
        $oFileInfos = Get-ChildItem -Path $_.FullName | Where-Object -FilterScript {-not $_.PSIsContainer}
        
        if($oFileInfos.Count -gt 0) {
            Write-Host "$($_.FullName): set LastWriteTime from [$($_.LastWriteTime)] to [$($oFileInfos[0].LastWriteTime)]."
            $_.LastWriteTime = $oFileInfos[0].LastWriteTime
        } else {
            Write-Host "Can't find any file in folder [$($_.FullName)]." -ForegroundColor Red
        }
    }
} else {
    Write-Host "Can't find source folder [$sSourceFolder]." -ForegroundColor Red
}
Для указанной папки получаем перечень вложенных папок первого уровня. В этом перечне для каждой из папок ищем файлы. Если найден хотя бы один файл, берём первый из них (для NTFS — это будет всегда первый по алфавиту) и присваиваем дате/времени последней модификации родительской для него папки дату/время последней модификации этого файла.

P.S. Вопросы моего предыдущего сообщения остаются в силе.

Отправлено: 05:23, 07-01-2016 | #7


Новый участник


Сообщения: 25
Благодарности: 0

Профиль | Отправить PM | Цитировать


Спасибо за ответ.

Цитата Iska:
P.S. Вопросы моего предыдущего сообщения остаются в силе. »
Касательно доп. вопросов, я старался не вступать в дискуссию по этому поводу. Это похвально, что у Вас привита такая хорошая черта - сделать одно универсальное решение учитывающее все варианты. Но я оговорил именно свой конкретный, частный случай:
1) файл в каждой папке один - поэтому не отвечаю на вопрос "а если файл не один ?"
2) конкретика про видео файл в данном случае совершенно не имеет значения - для задачи: "взять дату файла"

Отправлено: 14:21, 07-01-2016 | #8


Ветеран


Сообщения: 27449
Благодарности: 8086

Профиль | Отправить PM | Цитировать


Цитата ALARMus:
1) файл в каждой папке один - поэтому не отвечаю на вопрос "а если файл не один ?"
2) конкретика про видео файл в данном случае совершенно не имеет значения - для задачи: "взять дату файла" »
ALARMus, этого достаточно. Тогда код из сообщения №7 — для Вас.

Отправлено: 06:17, 08-01-2016 | #9


Новый участник


Сообщения: 25
Благодарности: 0

Профиль | Отправить PM | Цитировать


Цитата Iska:
Тогда код из сообщения №7 — для Вас »
Спасибо еще раз.

Отправлено: 08:56, 08-01-2016 | #10



Компьютерный форум OSzone.net » Компьютеры + Интернет » Хочу все знать » Присвоить дате изменения папке новую дату

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
CMD/BAT - Архивирование файлов по дате изменения GODolubOFF Скриптовые языки администрирования Windows 7 15-04-2015 20:22
Sony назвала новую дату релиза PlayStation 4 в Китае OSZone News Новости железа 0 11-03-2015 11:30
[решено] Как присвоить папке определенную иконку Ivan_009 Автоматическая установка Windows 2000/XP/2003 15 03-09-2013 15:24
Безопасность - присвоить папке пароль dgek Программное обеспечение Windows 10 05-02-2010 08:30
VBS/WSH/JS - [решено] Присвоить атрибуты файлу/папке через скрипт boss911 Скриптовые языки администрирования Windows 4 10-11-2009 06:19




 
Переход