Поиск фотографий, сделанных в классе - Фотопедия
1 голос
/ 05 марта 2018

Я пытаюсь упорядочить свои фотографии по дням недели и времени съемки.

Например, если у меня занятия по математике с 10:00 до 12:00 каждый понедельник и среду, я хочу переместить фотографии, сделанные в этом временном диапазоне, в одну папку?

В некоторой степени относится к этому вопросу , но с указанием дня недели, а не месяца.

Я сталкивался с вопросами, связанными с PowerShell , но я не вижу, как изменить их, чтобы включить день недели.

Пожалуйста, помогите.

1 Ответ

1 голос
/ 05 марта 2018

Чтобы использовать один из уже созданных ответов в PowerShell

<#
File modified by Joshua as taken from
http://www.marcvalk.net/2012/06/powershell-moving-files-into-subfolder-based-on-date/

Set Variables of Source folder and Destination folder
Assign variable of files to be the files with uss extension
For each file with uss extension assign the Directory variable the information for file creation year and month
    if the year and month folder do not exist, then create them from file creation information
Move file to sub-folder of year and month from file creation information passed into Directory variable

#>

$SourceDir = "C:\<Pointer>"
$DestinationDir = "C:\<Pointer>"

$files = get-childitem $SourceDir 

foreach ($file in $files) 

{

$Directory = $DestinationDir + "" + $file.CreationTime.Date.ToString('yyyy') + "\" + $file.CreationTime.Date.ToString('MM-MMM') + "\" + $file.CreationTime.Date.ToString('DD')

if (!(Test-Path $Directory))
{
New-Item $directory -type directory
}
Move-Item $file.fullname $Directory 
}

обратите внимание, что вам нужно будет указывать на папку заранее, в основном, когда вы находитесь в типе "cd c: \" с указателем, где папка

Обязательно отредактируйте $SourceDir = "C:\<Pointer>" и $DestinationDir = "C:\<Pointer>" при необходимости

Другой вариант это

    $Folder = "C:\<pointer>"

    get-childitem | % {

    $file = $_.FullName 
    $date = Get-Date ($_.CreationTime)
    $hour = $date.Hour
    $day = $date.day
    $month = $date.month
    $year = $date.year

    new-item -type Directory -path "$Folder\$year\$month\$day\$hour"
    move-item $file "$Folder\$year\$month\$day\$hour"
}

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

...