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

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

cher 28-05-2011 01:50 1683974

создание папки-поиск-копирование
 
@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 1683978

так вроде
for /R h:\ %%i in (*.mp3) do

Foreigner 28-05-2011 07:01 1683998

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 1684003

а зачем у dir /s и /a

Foreigner 28-05-2011 08:20 1684008

ferget,
Что бы рекурсивно и с любыми аттрибутами.

cher 28-05-2011 10:25 1684034

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

ferget 28-05-2011 10:26 1684036

у вас %%1, надо %%i

cher 28-05-2011 10:41 1684042

Цитата:

Цитата ferget
у вас %%1, надо %%i »

ой спасибо! глупо конечно ошибка моя выглядит. :)

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

shao 28-05-2011 21:59 1684273

Цитата:

Цитата cher
можно "расшифровать" вариант Foreigner »

Да , и ещё объясните пожалуйста значение скобок в скрипте, после команды "DO".

cher 02-06-2011 22:33 1687369

:ok:

cher 02-08-2011 15:43 1724609

дабы не создавать новую тему.
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 скопировалась полностью.


Время: 03:48.

Время: 03:48.
© OSzone.net 2001-