MoBiRo
Junior Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору Файл MyComputer.reg. Нужен для того, что бы автозапуск при открытии фотика в Мой компьютер срабатывал только на вашем компьютере. Вы же не хотите прийти в гости к другу, показать фотографии и случайно вырезать их с фотика на комп другу))) Файл: MyComputer.reg | Код: REGEDIT4 [HKEY_LOCAL_MACHINE\SOFTWARE\CutFilesFromCam] "On"="true" | | Добавляет в реестр запись, что бы срабатывал bat'ик | Файл: Autorun.inf | Код: [autorun] shellexecute=copy.bat G:\DCIM\2009\Camera\ MP_ROOT DCIM 101MNV01 101MSDCF Video Photo | | Автозапуск bat'а. Первый параметр - путь куда переносить файлы, второй - название папки со вложенной папкой с видео, третий - название папки со вложенной папкой с фото, четвертый - название папки с видео, пятый - название папки с фото, шестой - во что переименовать папку с видео после переноса с фотоаппарата на компьютер, седьмой параметр - во что переименовать папку с фото после переноса с фотоаппарата на компьютер. p.s.: в папке, которую вы указали в первом параметре, создаться ещё одна папка которая будет содержать в именидату первого фотоснимка и дату последнего, например "09.11.2009 - 16.11.2009", это очень удобно для ведения архива фотографий. Кстати, путь надо указывать только в пером параметре, во всех остальных просто названия папок. | Файл: copy.bat | Код: @echo off start /w regedit /e reg.txt HKEY_LOCAL_MACHINE\SOFTWARE\CutFilesFromCam type reg.txt | find "On" if errorlevel 1 explorer .. & exit del reg.txt cls color B echo This program will copy files echo from %~dp0% %%2 and %~dp0% %%3 to %1 echo If you don't want to copy this files - close the window, don't enter anything echo. pause if not exist %~dp0% %%2 ( if not exist %~dp0% %%3 ( cls color C echo Directories "%~dp0% %%2" and "%~dp0% %%3" don't exist! echo. pause explorer .. exit)) cd %3\%5\ for /f "tokens=*" %%a in ('dir /b /o:-d') do ( if not defined new ( for /f "tokens=1-3 delims=. " %%i in ("%%~ta") do set "new=%%k.%%j.%%i" ) else ( set "old=%%~ta")) for /f "tokens=1-3 delims=. " %%i in ("%old%") do set "old=%%k.%%j.%%i" if "%old%" equ "" (set "old=%new%") set outdir=%1%old% - %new%\ cd %~dp0% md "%outdir%" if errorlevel 1 cls & color C & echo Directory "%outdir%" already exist! & echo. & pause & explorer .. & exit xcopy "%2" "%outdir%" /E if errorlevel 1 cls & color C & echo Copy error, can't find "%2" directory! & echo. & pause & explorer .. & exit xcopy "%3" "%outdir%" /E if errorlevel 1 cls & color C & echo Copy error, can't find "%3" directory! & echo. & pause & explorer .. & exit rmdir /S /Q %2 if errorlevel 1 cls & color C & echo Remove directory "%2" error! & echo. & pause rmdir /S /Q %3 if errorlevel 1 cls & color C & echo Remove directory "%3" error! & echo. & pause rename "%outdir%%4" %6 if errorlevel 1 cls & color C & echo Rename directory "%outdir%%4" to "%6" error! & echo. & pause rename "%outdir%%5" %7 if errorlevel 1 cls & color C & echo Rename directory "%outdir%%5" to "%7" error! & echo. & pause cls color A echo Done echo. pause explorer %outdir% explorer .. exit | | Попробую описать bat: Сначала он проверяет наличие в реестре записи, что это ваш компьютер и ему можно вырезать данные с фотоаппарата. Если это не так, то он закрывается и открывает папку с файлами. Дальше он выводит в консоль приветствие, в котором можно удостовериться в правильности путей к папкам, а так же просит выйти если вы не хотите вырезать данные. Потом он проверяет наличие папок с фотографиями и видео, они создаются автоматически при форматировании карты памяти в фотоаппарате. Эта проверка нужна для того чтобы не было сбоя при выполнении следующей команды. Дальше программа берёт даты самого нового и самого старого файлов в папке с фотографиями, в видео она не заглядывает т.к. чаще всего обычно делают фотографии. Потом она проверяет существование конечной папки и создаёт её. Потом bat копирует папки с файлами на компьютер, удаляет их с фотоаппарата и переименовывает на компьютере. В конце открывает папку с скопированными файлами из фотоаппарата и сам фотик. | | Найдёте какие-то ошибки или как можно улучшить bat'ик - пишите =) | Всего записей: 68 | Зарегистр. 11-11-2009 | Отправлено: 12:13 18-11-2009 | Исправлено: MoBiRo, 13:13 18-11-2009 |
|