Показать полную графическую версию : Присвоить дате изменения папке новую дату
Как присвоить дате изменения папки дату её создания (папок много - так что для всех бы)
и второй вариант посложнее
Как присвоить папке дату изменения равную дате лежащего в ней файла
Как присвоить дате изменения папки дату её создания (папок много - так что для всех бы) »
http://www.petges.lu/home/download/
и второй вариант посложнее
Как присвоить папке дату изменения равную дате лежащего в ней файла »
Скриптом на 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
}
Скриптом на PowerShell, по типу: »
Спасибо.
Только вот надо проделать это в такой структуре:
Папка содержит множество папок, каждая из которых содержит в себе файл. Т.е. присвоить для всех папок содержащих файл.
К примеру Папка Film4 содержит кучу папок (названных по имени фильма) и в каждой такой "именной" папке лежит собственно видео файл.
ALARMus,
BulkFileChanger (http://www.nirsoft.net/utils/bulk_file_changer.html)
Спасибо.
Только вот надо проделать это в такой структуре: »
ALARMus, это был пример — как это делается, а не готовый под Ваши условия скрипт.
Т.е. присвоить для всех папок содержащих файл. »
Какой именно файл? Например, в папке два файла. Какой из них выбрать?
и в каждой такой "именной" папке лежит собственно видео файл. »
«видео файл» — понятие растяжимое. Нужна конкретика.
Вот общий принцип:
$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. Вопросы моего предыдущего сообщения остаются в силе.
Спасибо за ответ.
P.S. Вопросы моего предыдущего сообщения остаются в силе. »
Касательно доп. вопросов, я старался не вступать в дискуссию по этому поводу. Это похвально, что у Вас привита такая хорошая черта - сделать одно универсальное решение учитывающее все варианты. Но я оговорил именно свой конкретный, частный случай:
1) файл в каждой папке один - поэтому не отвечаю на вопрос "а если файл не один ?"
2) конкретика про видео файл в данном случае совершенно не имеет значения - для задачи: "взять дату файла"
1) файл в каждой папке один - поэтому не отвечаю на вопрос "а если файл не один ?"
2) конкретика про видео файл в данном случае совершенно не имеет значения - для задачи: "взять дату файла" »
ALARMus, этого достаточно. Тогда код из сообщения №7 — для Вас.
Тогда код из сообщения №7 — для Вас »
Спасибо еще раз.
и второй вариант посложнее
Как присвоить папке дату изменения равную дате лежащего в ней файла »
Ещё вариант — FolderTimeUpdate (http://www.nirsoft.net/utils/folder_time_update.html) от Nir Sofer (как 32-, так и 64-битная версии). Русификатор в конце страницы. Есть некоторое количество настроек (установка галками).
Ещё вариант »
да спасибо в 5 посте уже дали на него ссыллку
да спасибо в 5 посте уже дали на него ссыллку »
Там немного другое.
ALARMus, утилита, которую я привёл, просматривает папку на выбранную глубину вложенности (от только первого уровня и вплоть до всей глубины), и присваивает папке и вложенным в неё время в соответствии либо с самым новым файлом на первом уровне любой из таких обрабатываемых папок, либо с самым новым файлом из всех по выбранной глубине.
Там немного другое »
именно тоже самое - просто не прямая ссылка на скачивание, а описательная часть вверху под заголовком See Also как раз этот файл. :)
а описательная часть вверху под заголовком See Also как раз этот файл. »
«See also» — «Смотри также». Если Вы уже посмотрели — тем лучше ;).
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.
Available in ZeroNet 1osznRoVratMCN3bFoFpR2pSV5c9z6sTC