1 (изменено: alexii, 2013-02-07 15:44:43)

Тема: CMD/BAT: перебор папок с пробелами в названии

Доброго времени суток. Пишу скрипт  который, по идее, должен перебирать все папки  на винте в котором лежит сам скрипт, и копировать в нужную нам папку файлы с нужным расширением. И возникла такая проблема, скрипт перебирает все папки, а многие из них с пробелами в названии, и из них он не может скопировать файлы. Пробовал по советам "наставников" заключать пути копирования в ковычки, но либо я не понял что именно заключать, либо подход другой нужен. Прошу помогите кто может.

@echo off

rem вывод запроса на создание папки для сохранения 

echo nazvanie papki dlya sohranniya failov

rem ввод названия папки

set /p "naz=Vashe nazvanie? "

rem выбор расширения файлов

echo ykajite rasshirenie failof

set /p "ras=Rasshirenie failov? "

rem вывод соошения о выбраном расширение

echo Vibrannoe rasshirenie - %ras%

rem проверка на сушетвование папки с таким же именем

if not exist %naz% (

rem если папки не сушетвует, программа создает папку с таким именем

md %naz%

echo Papka - %naz% sozdana
 
rem запускается цикл на поиск данных с определенным расширением

for /r . %%i in ("*.%ras%") do copy %%i %naz%

echo Gotovo!

rem если папка сушествуе идет остановка цикла и выдача сообшения об сушествоание файла
   
) else (

echo papka %naz% suschestvuet.)

rem  указание папки в которой было произведенно копирование

echo Kopirovanie proizvedenno v kataloge - %~d0

Проблема вот в этой строке - for /r . %%i in ("*.%ras%") do copy %%i %naz%. Как сделать что бы нормально проходило копирование из папок с пробелами в название не пойму.
Заранее спасибо.

2

Re: CMD/BAT: перебор папок с пробелами в названии

… do copy "%%~i" "%naz%\"

Не проверялось.

3

Re: CMD/BAT: перебор папок с пробелами в названии

Огромное спасибо. Заработало!