Компьютерный форум 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=183496)

streamrider 21-08-2010 10:50 1478490

Батник для поиска и копирования
 
Привет всем !!! Вопрос такой кто знает как сделать какой нибудь батник что бы он искал нужную папку а затем копировал ее со всем содержимым в другое место . Я сам к сожалению не знаю как это делается .

amel27 21-08-2010 15:33 1478627

streamrider

- где искать?.. в папке?.. на заданном диске?.. только на локальных?.. включая сменные?.. включая сетевые?
- по каким параметрам искать папку? по полному имени? по части имени?.. по содержимому?...
- касаемо простого копирования заданной папки, вопрос поднимался неоднократно:

CMD/BAT - [решено] помогите написать батник для копирования папки
CMD/BAT - копирование по сети с заменой на новые файлы.

streamrider 22-08-2010 06:51 1479063

Искать нужно только на локальной папке на диске C и копировать ее на рабочий стол

А как сделать что бы он искал на нужном диске по маске ?

amel27 22-08-2010 09:24 1479086

Цитата:

Цитата streamrider
как сделать что бы он искал на нужном диске по маске »

пример - поиск на C: папок, имя которых начинается и заканчивается на "W":
Код:

DIR /B/S/AD C:\W*W

Devils0411 22-08-2010 18:20 1479443

попутный вопрос по поводу папок.. как записать в переменную, имя папки в которой запускается пакетник?

deepred 22-08-2010 18:34 1479455

Devils0411,

Код:

Set "$Path=%~dp0"

Devils0411 22-08-2010 18:36 1479456

deepred, Вы не совсем правильно поняли мой вопрос... Мне нужно:
Цитата:

Цитата Devils0411
имя папки в которой запускается пакетник »

, а не путь до пакетника.

amel27 22-08-2010 18:50 1479467

Код:

for %%i in (.) do set DIR=%%~nxi
echo %DIR%& pause>nul

ADD: это имя текущего каталога, если в процессе работы батника каталог меняется, можно так:
Код:

for %%i in ("%~dp0.") do set DIR=%%~nxi
echo %DIR%& pause>nul


NiOl 23-08-2010 17:21 1480159

Цитата:

Цитата Devils0411
имя папки в которой запускается пакетник »

Код:

Set CurrentDir=%CD%

Devils0411 23-08-2010 17:46 1480176

NiOl, Вы также не поняли суть вопроса, как и deepred. Мне требуется: имя папки в которой запускается пакетник, а не путь. amel27 написал именно то, что необходимо.. Но все равно спасибо за проявленный интерес.
P.S. Кстати, предложенные варианты NiOl и deepred работают только локально. Если же запускать в сетевой папке, то имя папки указывается неверно. Данный код:
Код:

for %%i in ("%~dp0.") do set DIR=%%~nxi
echo %DIR%& pause>nul

Корректно отображает как локальное имя папки, так и сетевое. Т.е. где бы не запускался данный код, отображение имени будет правильным.

Iska 25-08-2010 20:00 1481645

Цитата:

Цитата Devils0411
P.S. Кстати, предложенные варианты NiOl и deepred работают только локально. Если же запускать в сетевой папке, то имя папки указывается неверно. »

Код:

REGEDIT4

[HKEY_LOCAL_MACHINE\Software\Microsoft\Command Processor]
"DisableUNCCheck"=dword:00000001

Или, для текущего пользователя — HKCU\…


Время: 08:59.

Время: 08:59.
© OSzone.net 2001-