![]() |
Поиск папок в поддиректории по списку из txt и перемещение
Приветствую!
Помогите решить задачу. Есть заранее составленный список папок в текстовом файле (life.txt) вида: 79032177652 79032178139 79032199051 79032239615 и так далее. Нужно пройтись по этому списку и найти в текущей папке, откуда выполняется скрипт, все папки из списка и переместить их в заданную папку. Те папки которые в процессе работы не были найдены - занести в отдельный текстовый файл. Спасибо! Нашел на форуме этот скрипт, но он ищет файлы а не папки. @echo off chcp 1251>nul set "list=list.txt" set "folder=D:\Заданная папка" set "not_found=not_found.txt" 2>nul md "%folder%" >"%not_found%" ( for /f "usebackq delims=" %%i in ("%list%") do ( for /f "delims=" %%j in (' "2>nul dir /a-d/b/s "%%i"" ') do ( >nul move "%%j" "%folder%" ) )|| ( echo %%i ) ) exit /b |
Решение найдено! Спасибо NiOl
@echo off SetLocal EnableExtensions SetLocal EnableDelayedExpansion set Lst=C:\Users\Cyber\Desktop\old\lifelist.txt set Src=C:\Users\Cyber\Desktop\old set Dst=C:\Users\Cyber\Desktop\old\LIFE for /f "UseBackQ Delims=" %%S in ("%Lst%") do ( call :prc %%S for /f "Delims=" %%D in ('dir /b /s /on /ad %%S') do call :prc %%D ) exit :prc set D=%1 set D=!D:%Src%=! md %Dst%!D! 2>nul move "%1\*.*" "%Dst%!D!\" 2>nul for /d %%i in ("%Src%*") do rd /q "%%i" 2>nul for /d %%i in ("%Dst%*") do rd /q "%%i" 2>nul exit /b |
Решение не работает, копирует пустые файлы... часть папок скопировал нормально, а часть папок просто пустые
|
Цитата:
Код:
@echo off |
копировало только структуру подпапок, без файлов(
|
Georgio, move "%%i" "%folder% Будет работать только если обе папки на одном диске. Иначе получим: Отказано в доступе.
Мой вариант: Код:
@Echo off |
cyberp1983,
Код:
@echo off На другой диск не получится. |
Так работает и на другой диск:
Код:
@echo off |
Время: 18:54. |
Время: 18:54.
© OSzone.net 2001-