Войти

Показать полную графическую версию : [решено] Перемещение всех файлов из индексных папок с последующим удалением


artbiokron@vk
15-03-2020, 13:07
Господа, прощу помочь в решение следующей задачи:

есть каталог содержащий папки следующего вида: пятизначный цифровой код и индекс в скобках (пример 31000, 31000(1), 31000(2) и так далее)
необходимо перенести все содержимое папок с индексами, с последующим удалением их, в папку без индекса с тем же кодом.
-код всегда пятизначный 00000
-индекс всегда в скобках (n)
-переносить все содержимое индексных папок без разбору (*.cr2, *.dng)
-имена файлов не повторяются,
- после перемещения должны остаться папки только с кодом 00000 и перемещенными файлами, а папки с индексами 00000(n) удаляются

К сожалению в программировании полный ноль...

Iska
15-03-2020, 13:16
-имена файлов не повторяются, »
Что делать, если вдруг всё же повторятся? Заменять? Пропускать?

artbiokron@vk
15-03-2020, 13:19
если повтор, то пусть сохраняется с индексом любым

Iska
15-03-2020, 13:26
Вложенные каталоги есть?

artbiokron@vk
15-03-2020, 13:41
нет, вложенных подкаталогов нет

Структура такая главный каталог А > 00000, 00000(1)... 00002, 00002(1), 00002(2)... 00002(n)...
внутри каталога А , только папки с кодами и индексами

alpap
15-03-2020, 14:44
@echo off
set "d=C:\A"

pushd "%d%"
for /f "tokens=1,2 delims=()" %%a in ('dir /ad/b') do if not "%%b"=="" >nul (move "%%a(%%b)\*" "%%a"& rd /q "%%a(%%b)")
popd
pause

без проверки на совпадение имен, т.е. все имена файлов уникальны.

Iska
15-03-2020, 15:27
alpap, может, на всякий случай «…&& rd /q …"» — вдруг что-то не перенесётся?

Move - Windows CMD - SS64.com (https://ss64.com/nt/move.html):
Errorlevels

If the File(s) were successfully moved/renamed %ERRORLEVEL% = 0
If the File was not found, could not be moved/renamed or bad parameters %ERRORLEVEL% = 1

artbiokron@vk
15-03-2020, 16:15
ООООО сто тысяч благодарностей!

megaloman
15-03-2020, 19:29
может, на всякий случай «…&& rd /q …"» — вдруг что-то не перенесётся »Непустая папка без /S не удалится

Iska
15-03-2020, 19:51
megaloman, не сообразил :).




© OSzone.net 2001-2012