Недавно я экспортировал жесткий диск своей камеры Panasonic в свой ноутбук и заметил, что видеофайлы упорядочены не по имени, а по их родительскому каталогу, и указанный родительский каталог был затуманен кучей разных файлов.
Чтобы представить ситуацию в перспективе, дерево каталогов выглядит примерно так:
\Panasonic
\PRG00A
\PRG00B
...
\PRG069
Panasonic находится в нескольких папках, поэтому я хотел бы поместить свой пакетный файл рядом с \Panasonic
. И заставить его работать относительно своего местоположения.
Итак, в основном я хочу создать пакетный файл move.bat
, который будет проходить по подкаталогам \Panasonic
и перемещать любые видеофайлы (с расширением .MOD для упрощения), а затем удалять родительский каталог (например, \PRG00B
).
В результате каталог \Panasonic
содержит только видеофайлы, а не подкаталоги с кучей мусора.
Что у меня есть на данный момент (имейте в виду, что это мой первый пакетный скрипт, и я даже не тестировал его полностью). Выбор продолжить не работает, кстати. Хотя не знаю почему.
@echo off
cls
set dirName=%~dp0Panasonic
goto question
:start
goto move
goto end
:move
for /D %%G in ("%cd%") do (
for %%I in ("%%G") do (
if %%I equ "*.MOD" (
move /Y %%I %dirName%
)
)
rmdir /s /q %%G
)
:end
echo Done.
pause
endlocal
exit
:question
set /P c="Are you sure you want to proceed with moving video files from %dirName%? [Y/N]"
if /I %c% equ 'y' (
echo Moving files...
goto start
) else (
goto end
)
Еще раз, я впервые создаю пакетный файл, поэтому любая помощь очень ценится!