Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Скриптовые языки администрирования Windows (http://forum.oszone.net/forumdisplay.php?f=102)
-   -   [решено] перемещение по маске из подкаталогов в корень (http://forum.oszone.net/showthread.php?t=176462)

shadowbat 24-05-2010 16:19 1420032

перемещение по маске из подкаталогов в корень
 
имеется
Код:

C:\Papka\001\Data\1\*.txt
C:\Papka\001\Data\2\*.txt
C:\Papka\001\Data\3\*.txt
C:\Papka\001\Data\4\*.txt
...

C:\Papka\002\Data\1\*.txt
C:\Papka\002\Data\2\*.txt
C:\Papka\002\Data\3\*.txt
C:\Papka\002\Data\4\*.txt
...

(по имени все *.txt разные, пронумерованные)

нужно переместить *.txt так:
Код:

C:\001\Data\*.txt

C:\002\Data\*.txt

...

нужно запустив BAT из C:\Papka\ - переместить файлы *.txt (которые находятся только в подпапках \Data\1, 2, 3....) - переместить их в папку Data. т.е. BAT должен сканировать все папки и найдя папку Data переместить из ее подкаталогов в саму папку Data все *.txt файлы

El Sanchez 24-05-2010 18:02 1420090

shadowbat,

Код:

@Echo Off
For /F %%A In ('Dir /B /S /AD Data') Do For /F "Tokens=*" %%B In ('Dir /B /S %%A\*.txt') Do Move /Y "%%B" "%%A" 1>nul 2>&1


shadowbat 24-05-2010 18:29 1420107

El Sanchez, не хочет работать если папки с русскими именами =), например так:
C:\001 привет\Data\*.txt
C:\002 привет\Data\*.txt

(сохранение в Bred2k или chcp 1251 + chcp 866 не помогли)

El Sanchez 24-05-2010 20:05 1420175

shadowbat, пардон

Код:

@Echo Off
For /F "Tokens=*" %%A In ('Dir /B /S /AD Data') Do For /F "Tokens=*" %%B In ('Dir /B /S "%%A\*.txt"') Do Move /Y "%%B" "%%A" 1>nul 2>&1


shadowbat 24-05-2010 20:18 1420184

El Sanchez, Благодарю! :bow: как по маслу!


Время: 22:19.

Время: 22:19.
© OSzone.net 2001-