Недавно я экспортировал жесткий диск на свою камеру 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
)
Еще раз, это мой первый раз, создав пакетный файл, так что любая помощь очень ценится!
Ваш выбор не работает, потому что вы сравниваете свой вход (возможно, симе «y» (один символ) со строкой '' y'' (три символа). Лучше использовать 'if/i '% c%" equ «y» («(или используйте соответствующую команду, посмотрите на« выбор /? »). Остальное уже хорошо объяснено PA. – Stephan
Я даже не заметил одиночные кавычки, спасибо за указание. – Nikita