Войти

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


Alexander_88
24-11-2015, 22:59
Здравствуйте, подскажите, пожалуйста, как можно найти файлы в каталоге (который я укажу) и во всех его каталогов/подкаталогов, а потом переместить все эти найденные файлы в одну папку (которую я укажу). Список файлов находится в тхт файле (в столбик, с расширением)

Мы указываем путь, где нужно искать файлы (включая каталоги/подкаталоги):
C:\OneDrive\work\NewsMaker

Указываем файл old.txt в котором находится имена файлов, которые прописаны с расширением в столбик.

Указываем папку в которую нужно переместить все найденные файлы:

C:\OneDrive\work\NewsMaker\MOVE

:)

megaloman
25-11-2015, 03:04
Alexander_88, возможны ли файлы с одинаковыми именами в разных подкаталогах? Если возможны, то как их перемещать?

Alexander_88
25-11-2015, 05:05
Нет, такого быть не может, все имена разные, есть почти одинаковые, но 1 символ всеравно различается, поэтому полностью одинаковых нету :dont-know

megaloman
25-11-2015, 23:56
@Echo Off
CLS

Set "FName=E:\Delete\file name 866.txt"
Set "From=E:\ddd\Games"
Set "To=E:\ddd\Ку Ку"

Md "%To%" 2>nul

If Not Exist "%From%" (
Echo Папка "%From%" не существует
GoTo :Eof
)

If Not Exist "%FName%" (
Echo Файл "%FName%" не существует
GoTo :Eof
)

FOR /F "usebackq delims=" %%f IN ("%FName%") DO (
FOR /F "usebackq delims=" %%i IN (`Dir "%From%\%%f" /s /A-d /B 2^>nul`) DO (
Echo %%i
Move /Y "%%i" "%To%\"
)
)

Pause
@Echo Off
CLS
Chcp 1251 >nul

Set "FName=E:\Delete\file name 1251.txt"
Set "From=E:\ddd\Games"
Set "To=E:\ddd\Ку Ку"

Md "%To%" 2>nul

If Not Exist "%From%" (
Echo Папка "%From%" не существует
pause
GoTo :Eof
)

If Not Exist "%FName%" (
Echo Файл "%FName%" не существует
pause
GoTo :Eof
)

FOR /F "usebackq delims=" %%f IN ("%FName%") DO (
FOR /F "usebackq delims=" %%i IN (`Dir "%From%\%%f" /s /A-d /B 2^>nul`) DO (
Echo %%i
Move /Y "%%i" "%To%\"
)
)
pauseПодстановочные знаки в именах файлов, например, *.exe, возможны

Alexander_88
26-11-2015, 22:44
Спасибо, проверил, работает, я взял второй вариант :)




© OSzone.net 2001-2012