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

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

river123 13-08-2010 20:10 1473142

Поиск на компьютере изображений через bat
 
Проблема вот в чем. Хочу найти через bat все изображения на D: и скопировать их в определённую папку на С: (без использования команды xcopy, а то она копирует все дерево каталогов, но так не удобно). Пробовал сам что-то написать, но всё безрезультатно.

Код:

@echo off
md "C:\Images\"
for /R %%a in ("D:\*") do copy /y "%%a\*.jpg" "C:\Images\"
pause

По идее, я думал, что batник пробежится по всем папкам на D: (т.к присутствует параметр R - рекурсивно т.е batник обрабатывает дерево каталогов) и если в них он найдёт файлы изображений, то они скопируются в указанную папку на C: Но командный интерпретатор вообще ничего не выполняет и не пишет об ошибках в командах.

gora 13-08-2010 20:32 1473153

Цитата:

Цитата river123
командный интерпретатор вообще ничего не выполняет »

А если так?
Код:

@echo off
md "C:\Images\"
for /R "D:" %%a in (*.jpg) do copy /y "%%a" "C:\Images\"
pause


river123 13-08-2010 21:15 1473191

Цитата:

Цитата gora
А если так?
Код:
@echo off
md "C:\Images\"
for /R "D:" %%a in (*.jpg) do copy /y "%%a" "C:\Images\"
pause

Спасибо, помогло, но не мог бы ты разъяснить по подробнее, как работает вот эта команда. Почему локальный диск D: вынесен из множества in на передний план?

gora 13-08-2010 21:22 1473194

Цитата:

Цитата river123
Почему локальный диск D: вынесен из множества in на передний план? »

Согласно синтаксиса этой команды:
Цитата:

FOR /R [[диск:]путь] %переменная IN (набор) DO команда [параметры]

Выполнение команды для каталога [диск:]путь, а также для всех
подкаталогов этого пути. Если после ключа /R не указано имя каталога,
выполнение команды начинается с текущего каталога.
Если вместо набора указана только точка (.), команда выводит список
всех подкаталогов.

river123 13-08-2010 22:15 1473220

Спасибо, всё понял. Буду чаще смотреть help <команда>


Время: 02:31.

Время: 02:31.
© OSzone.net 2001-