Показать полную графическую версию : Поиск и копирование найденных файлов
Задача следующая: нужен батник,который будет искать и копировать найденный файлы скажем в папку C:\111\
т.е если ищем все файлы *.jpg ,чтобы все копировал в заданную директорию!
Помогите разобраться,знаю,было пару подобных тем,но до нужного мне кода пока не дорос!заранее спасибо!
Jans, для тех, кто восхочет реализовывать сие, ответьте сразу на два банальных вопроса: где именно искать (на заданном диске, на всех дисках, на несъёмных дисках, в заданном каталоге и его подкаталогах) и как поступать с одноимёнными найденными файлами?
Iska, на всех дисках,всех каталогах и подкаталогах!
одноимённые файлы тож копировать,но добавлять в имени (1), (2)..ну как стандартно в винде!
благодарствую за вопрос!
благодарствую за вопрос! »
Не за что. Вам осталось только подождать, пока кто-нибудь не восхочет…
set t=123.txt
set c=C:\111
dir /b /s a:\>%t%
dir /b /s b:\>>%t%
dir /b /s c:\>>%t%
dir /b /s d:\>>%t%
dir /b /s e:\>>%t%
dir /b /s f:\>>%t%
dir /b /s g:\>>%t%
rem ................
dir /b /s y:\>>%t%
dir /b /s z:\>>%t%
md %c%\
del /F /Q "%c%\*.*" 2>nul
For /F "Delims=" %%I in ('^<"%t%" find /i ".jpg"') do copy "%%I" "%c%\"
del /F /Q "%t%" 2>nul
El Sanchez
31-08-2011, 18:30
Jans,
@Echo Off
Rem Путь задать БЕЗ слэша на конце
Set Output=C:\111
If Not Exist %Output% Exit /B 1
PushD %Output%&&RD . /S /Q 2>nul&PopD
For /F "Skip=1" %%A In ('WMIC LOGICALDISK WHERE "FileSystem!=NULL" GET Name') Do Call :_func "%%A\"
GoTo :EoF
:_func
For /R "%~1" %%A in (*.jpg) Do (
If /i Not "%%~dpA"=="%Output%\" If Exist "%Output%\%%~nxA" (
For /F "Tokens=1* Delims=:" %%C in ('Dir /B /A-D "%Output%\%%~nA(*).jpg" "%%A" 2^>nul^|FindStr /in .') Do If Not Exist "%Output%\%%~nA(%%C)%%~xA" Echo Copy "%%A" to "%Output%\%%~nA(%%C)%%~xA"&Copy /Y "%%A" "%Output%\%%~nA(%%C)%%~xA" >nul
) Else (
Echo Copy "%%A" to "%Output%\%%~nxA"&Copy /Y "%%A" "%Output%\%%~nxA" >nul
)
)
Спасибо,товарищи,всем, кто помог ;) Большой респект и уважуха! :clapping: :clapping: :clapping: :clapping: :clapping:
код 2ooth помог хорошо,спасибо!El Sanchez,по-ходу цикл бесконечный - один и тот же файл по несколько десятков раз скопировало,и на ХР не пашет :( но всё равно спасибо ;)
подскажите пожалуйста, как вот этот батник заставить,чтоб он с так же искал не файлы,а папку, скажем "эксперимент" и всё ие содержимое включая подпапки копировал в C:\111 :search:
set t=123.txt
set c=C:\111
dir /b /s a:\>%t%
dir /b /s b:\>>%t%
dir /b /s c:\>>%t%
dir /b /s d:\>>%t%
dir /b /s e:\>>%t%
dir /b /s f:\>>%t%
dir /b /s g:\>>%t%
rem ................
dir /b /s y:\>>%t%
dir /b /s z:\>>%t%
md %c%\
del /F /Q "%c%\*.*" 2>nul
For /F "Delims=" %%I in ('^<"%t%" find /i ".jpg"') do copy "%%I" "%c%\"
del /F /Q "%t%" 2>nul
El Sanchez
11-09-2011, 17:34
по-ходу цикл бесконечный - один и тот же файл по несколько десятков раз скопировало,и на ХР не пашет »
Jans, значит одинаковых файлов много в системе, я не маньяк, чтобы на jpg-файлах тренироваться, создал несколько файлов на разных дисках с несуществующем расширением (например, .333) и натравил батник. На XP/7 работает. Батник пишет в консоль откуда копирует и куда под каким именем. Неужто несколько десятков строк с одинаковыми путями присутствуют? Кстати, не забывайте перед повторным запуском батника очищать конечную директорию, а то дублей станет в 2 раза больше.
UPD: Jans, прошу прощения, после последней правки работа на XP отвалилась. Пост со скриптом исправил.
NLOLegion
28-02-2016, 06:34
А если всё найденное нужно направить не в папку на конкретном диске С , а в папку 111 на диске с которого осуществлялся запуск по поиску? Флешка может отобразиться любым буквенным значением в зависимости от уже подключенных.
NLOLegion, компромат планируете собирать :)?
NLOLegion
28-02-2016, 11:51
Не обязотельно.)
Можете привести какой-либо пример из необязательного?
NLOLegion
29-02-2016, 18:22
Использовать буду в системе голосового управления изменив под свои нужды, но и для добычи нужных фалов тоже можно использовать. но форум думаю не для выяснения подобных нюансов и троллинга.
Использовать буду в системе голосового управления изменив под свои нужды, »
Меняйте.
но форум думаю не для выяснения подобных нюансов и троллинга. »
Думайте.
NLOLegion
02-03-2016, 08:27
А если всё найденное нужно направить не в папку на конкретном диске С , а в папку 111 на диске с которого осуществлялся запуск по поиску? Флешка может отобразиться любым буквенным значением в зависимости от уже подключенных. »
Вопрос открыт...
children_of_bodom
09-04-2022, 11:38
Приветствую Всех. Помогите пожалуйста решить следующую задачу. Нужен .bat файл, а как создать не понимаю
Есть папка под названием X. В этой папке еще сотни папок с разными названиями. И в более чем половине этих папок существуют еще подпапки в несколько уровней (где одна, где две и тд).
В папке X есть текстовый документ List.txt, в котором большой список названий файлов из этих всех папок и подпапок.
Нужно создать в папке X папку Y в которую скопируются все найденные файлы из документа List.txt
У файлов есть 2 типа разных расширений .kipr и .krig (если можно исключить их, чтобы файл копировался независимо от расширения .kipr или .krig)
P.S: Было бы замечательно еще при копировании файлов видеть в командной строке процесс копирования и после окончания копирования закрыть вручную окно командной строки.
И также все файлы которые не удалось скопировать (или найти) занести в отдельный текстовый документ Not Found.txt, расположенный также в основной папке X
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.