Войти

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


streamrider
21-08-2010, 10:50
Привет всем !!! Вопрос такой кто знает как сделать какой нибудь батник что бы он искал нужную папку а затем копировал ее со всем содержимым в другое место . Я сам к сожалению не знаю как это делается .

amel27
21-08-2010, 15:33
streamrider

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

CMD/BAT - [решено] помогите написать батник для копирования папки (http://forum.oszone.net/showthread.php?t=136900)
CMD/BAT - копирование по сети с заменой на новые файлы. (http://forum.oszone.net/showthread.php?t=180460)

streamrider
22-08-2010, 06:51
Искать нужно только на локальной папке на диске C и копировать ее на рабочий стол

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

amel27
22-08-2010, 09:24
как сделать что бы он искал на нужном диске по маске »пример - поиск на C: папок, имя которых начинается и заканчивается на "W":DIR /B/S/AD C:\W*W

Devils0411
22-08-2010, 18:20
попутный вопрос по поводу папок.. как записать в переменную, имя папки в которой запускается пакетник?

deepred
22-08-2010, 18:34
Devils0411,

Set "$Path=%~dp0"

Devils0411
22-08-2010, 18:36
deepred, Вы не совсем правильно поняли мой вопрос... Мне нужно: имя папки в которой запускается пакетник », а не путь до пакетника.

amel27
22-08-2010, 18:50
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
имя папки в которой запускается пакетник »
Set CurrentDir=%CD%

Devils0411
23-08-2010, 17:46
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
P.S. Кстати, предложенные варианты NiOl и deepred работают только локально. Если же запускать в сетевой папке, то имя папки указывается неверно. »
REGEDIT4

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

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




© OSzone.net 2001-2012