|
Компьютерный форум OSzone.net » Сфера Microsoft » Программное обеспечение Windows » Прочие - [решено] Сортирование файлов по папкам (копирование по дате создания) |
|
Прочие - [решено] Сортирование файлов по папкам (копирование по дате создания)
|
Новый участник Сообщения: 19 |
Профиль | Отправить PM | Цитировать Подскажите программку (или скрипт какой-то), которая может определить дату создания файла и судя по ней переместить файл в папку с названием "Дата создания файла".
Например: файл1.jpg - дата создания 3.05.2007 Нужно создать папку 03.05.2007 (или 2007.05.03) и скопировать туда "файл1.jpg". Пробовал искать по Инету - честно слово, ничего не нашел. А согласитесь, такая программа полезная. У меня фотки с камеры (Canon) когда сливаются на комп сразу по папкам сортируются. А вот на мобильном все файлы в одну папку скидываются и когда на комп перекинешь - то такой бардак Может тут есть программисты, для которых это не тяжело сделать А то я только очень начинающий. |
|
Отправлено: 22:10, 28-06-2007 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Цитата Boomer_777:
Скрытый текст
@echo off setlocal enableextensions enabledelayedexpansion set sSourceFolder=%~1 if defined sSourceFolder ( pushd "%sSourceFolder%" && ( for %%i in ("*.jpg") do ( set sFullName=%%~nxi for /f %%j in ("!sFullName:-= !") do set sPartName=%%j if not exist "!sPartName!" md "!sPartName!" >nul move "%%~i" "!sPartName!\" && echo Move file [%%~i] into folder [!sPartName!]. ) popd ) || ( echo Can't find source folder [%sSourceFolder%]. exit /b 2 ) ) else ( echo Usage: %~nx0 ^<Source folder^> exit /b 1 ) endlocal exit /b 0 Исходная папка задаётся параметром пакетного файла (также можно просто перетащить папку на пакетный файл в Проводнике). |
|
Отправлено: 06:21, 04-06-2015 | #21 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Новый участник Сообщения: 2
|
Профиль | Отправить PM | Цитировать Iska, спасибо, то, что доктор прописал прямо
|
Отправлено: 00:59, 05-06-2015 | #22 |
Новый участник Сообщения: 3
|
Профиль | Отправить PM | Цитировать Доброго времени суток!
У меня проблема именно такого же вида: Цитата cifrovichek:
как "выдрать" три символа из имени файла я уже понял: Функция разбора строки в именах файлов
set objFS = CreateObject("Scripting.FileSystemObject") Set outputLines = CreateObject("System.Collections.ArrayList") FldN = "наша папка содержащая файлы для разбора имен" for each f in objFS.GetFolder(FldN).files outputLines.Add f.Name next outputLines.Sort() ' 5 lines... For Each outputLine in outputLines set file = objFS.GetFolder(FldN).files.item (outputLine&"") str = outputLine&"" intCharacters = 3 strNew = left(str, intCharacters) next Wscript.Quit а дальше как ? |
|
Отправлено: 17:05, 19-09-2015 | #23 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Цитата belgarion:
Вот примерная болванка кода (ориентируемся на разделитель «_», в случае наличия одноимённого файла будет возникать ошибка): Скрытый текст
Option Explicit Dim strSourceFolder Dim objFile Dim strDestFolder If WScript.Arguments.Count = 1 Then With WScript.CreateObject("Scripting.FileSystemObject") strSourceFolder = .GetAbsolutePathName(WScript.Arguments.Item(0)) If .FolderExists(strSourceFolder) Then For Each objFile In .GetFolder(strSourceFolder).Files strDestFolder = .BuildPath(strSourceFolder, Split(objFile.Name, "_")(0)) If Not .FolderExists(strDestFolder) Then .CreateFolder strDestFolder End If WScript.Echo objFile.Name, "--->", strDestFolder objFile.Move strDestFolder & "\" Next Else WScript.Echo "Can't find source folder [" & strSourceFolder & "]." WScript.Quit 2 End If End With Else WScript.Echo "Usage: cscript.exe //nologo """ & WScript.ScriptName & """ <Source folder>" WScript.Quit 1 End If WScript.Quit 0 |
|
Отправлено: 20:07, 19-09-2015 | #24 |
Новый участник Сообщения: 3
|
Профиль | Отправить PM | Цитировать Цитата Iska:
|
|
Отправлено: 11:56, 20-09-2015 | #25 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать belgarion, исходная папка задаётся аргументом скрипта. Также можно просто перетаскивать папку на скрипт в Проводнике.
Если совсем-совсем не хотите, то: Скрытый текст
Option Explicit
Dim strSourceFolder
Dim objFile
Dim strDestFolder
With WScript.CreateObject("Scripting.FileSystemObject")
strSourceFolder = .GetAbsolutePathName("C:\Мои проекты\16")
If .FolderExists(strSourceFolder) Then
For Each objFile In .GetFolder(strSourceFolder).Files
strDestFolder = .BuildPath(strSourceFolder, Split(objFile.Name, "_")(0))
If Not .FolderExists(strDestFolder) Then
.CreateFolder strDestFolder
End If
WScript.Echo objFile.Name, "--->", strDestFolder
objFile.Move strDestFolder & "\"
Next
Else
WScript.Echo "Can't find source folder [" & strSourceFolder & "]."
WScript.Quit 2
End If
End With
WScript.Quit 0
|
Отправлено: 14:40, 20-09-2015 | #26 |
Новый участник Сообщения: 3
|
Профиль | Отправить PM | Цитировать Цитата Iska:
|
|
Отправлено: 19:17, 20-09-2015 | #27 |
Новый участник Сообщения: 2
|
Профиль | Отправить PM | Цитировать подскажите как изменить скрипт для сортировки фотографий по дате съемки из EXIF данных. когда скидываю с фотика в дате создания прописывается дата копирования, а не дата съёмки.
|
Отправлено: 15:19, 23-01-2016 | #28 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Цитата Nekis:
Цитата Nekis:
|
||
Отправлено: 16:34, 23-01-2016 | #29 |
Новый участник Сообщения: 2
|
Профиль | Отправить PM | Цитировать Спасибо.
выкрутился так: 1. через хорошую программу, которую использую вместо стандартного вивера для просмотра файлов - XnView (инструменты->изменить дату/время), заменил дату создания и изменения на дату съёмки из метаданных EXIF 2. потом воспользовался вашим скриптом |
Отправлено: 20:56, 23-01-2016 | #30 |
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
[решено] Защита папок и файлов паролем - ограничение доступа к файлам и папкам | WChek | Программное обеспечение Windows | 18 | 22-09-2010 13:31 | |
CMD/BAT - [решено] Копирование самого позднего по дате создания каталога. | SANIOK_AV | Скриптовые языки администрирования Windows | 2 | 04-12-2009 17:29 | |
VBS/WSH/JS - [решено] VBS/WSH. Сортировка файлов по дате. | rancid | Скриптовые языки администрирования Windows | 3 | 23-07-2009 06:38 | |
Доступ - [решено] Копирование файлов из XP в Vista | cleverkid | Microsoft Windows Vista | 2 | 01-11-2008 11:19 | |
[решено] Копирование файлов при загрузке ОС | Coutty | Microsoft Windows 2000/XP | 9 | 02-05-2007 19:25 |
|