PDA

Показать полную графическую версию : [решено] создание папки-поиск-копирование


cher
28-05-2011, 01:50
@echo off

echo "welcome to my cmd file"

if not exist h:\1 (
mkdir h:\1
for /R :\h %%1 in (*.mp3) do (
echo %%i
copy %%i h:\1
)
) else (
echo "h:\1 allready exists"
echo "h:\1 (*.mp3) allready exist"

)

echo on


папка создается-файлы не "ищутся/копируются

-только изучаю азы... помогите с ошибкой

ferget
28-05-2011, 02:15
так вроде
for /R h:\ %%i in (*.mp3) do

Foreigner
28-05-2011, 07:01
cher,
А что надо? Найти все mp3 на H: и скопировать в H:\1 ?

@echo off

2>nul md "h:\1"
for /f "tokens=*" %%i in (' dir /b /s /a "h:\*.mp3" ') do (

if not exist "h:\1\%%~nxi" copy "%%i" "h:\1"

)

ferget
28-05-2011, 07:21
а зачем у dir /s и /a

Foreigner
28-05-2011, 08:20
ferget,
Что бы рекурсивно и с любыми аттрибутами.

cher
28-05-2011, 10:25
Foreigner, спасибо с вашим все работает.
но если можно хотелось бы разобраться, почему мой не работает..
поменял на h:\ тоже самое ...%1 не удается найти указанный файл :(

ferget
28-05-2011, 10:26
у вас %%1, надо %%i

cher
28-05-2011, 10:41
у вас %%1, надо %%i »
ой спасибо! глупо конечно ошибка моя выглядит. :)

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

shao
28-05-2011, 21:59
можно "расшифровать" вариант Foreigner »
Да , и ещё объясните пожалуйста значение скобок в скрипте, после команды "DO".

cher
02-06-2011, 22:33
:ok:

cher
02-08-2011, 15:43
дабы не создавать новую тему.
xcopy (for не предлагать)
xcopy /i "%userprofile%\desktop\*.bat" "d:\новая папка\"-копируются только файлы вне каталогов.
xcopy /s "%userprofile%\desktop\*.bat" "d:\новая папка\" -копируются с сохранением дерева каталогов.
надо-чтоб все в кучу.
в robocopy смог пока только добиться копирование пустых каталогов.ага...тоже самое.с сохранением дерева...как бы в кучу?
ладно...в пакетном файле
@echo off
echo "privet! nachinsem rabotu skripta!"
ping -n 5 127.0.0.1 >nul
if not exist d:\2 (
mkdir d:\2
for /r %userprofile%\desktop %%i in (*.bat,*.cmd) do (
xcopy /s /y %%i d:\2
)
) else (
echo "vrode kak papka suchestvuet....."
)
echo on
не копируются русские имена,и из каталогов/подкаталогов только по одному файлу(где есть другие расширения).папка состоящая из .bat скопировалась полностью.




© OSzone.net 2001-2012