Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] Поиск и копирование

Ответить
Настройки темы
CMD/BAT - [решено] Поиск и копирование

Аватара для Butunin Klim

Ветеран


Сообщения: 1482
Благодарности: 117

Профиль | Отправить PM | Цитировать


Суть вопроса такова.
Есть папка с dbx файлами, но имя папки меняется постоянно, по этому нужно найти в этой папке подпаку которая меняет название. (я так понимаю просто нужно найти файлы с dbx расширением.)
Путь к папке \\server\profile\%username%\db\имя случайной папки\*.dbx

есть путь куда это надо скопировать. Не пойму как сделать... кто смыслит хелп! путь \\server2\profile\%username%\db\

-------
Сообщение помогло? В знак благодарности НАЖМИТЕ ПОЛЕЗНОЕ СООБЩЕНИЕ

Мы зрим не то, что есть вокруг,
А то, что можем видеть зримо.
А то, что зреть не достижимо
Нам не узреть во век веков.

Мой веб-магазин товары Amway http://butunina.ru


Отправлено: 18:37, 25-05-2011

 

Ветеран


Contributor


Сообщения: 2735
Благодарности: 1699

Профиль | Отправить PM | Цитировать


Код: Выделить весь код
@Echo Off
Set Otkuda=\\server\profile\%username%\db\
Set Kuda=\\server2\profile\%username%\db\

FOR /R "%Otkuda%" %%i IN (*.dbx) DO Copy "%%i" "%Kuda%" >nul
Если копируемых файлов много, то быстрее, возможно, будет работать вот такой цикл вместо предыдущего
Код: Выделить весь код
FOR /F "usebackq delims=" %%i IN (`DIR %Otkuda% /b /A:D`) DO if Exist "%Otkuda%%%i\*.dbx" xcopy "%Otkuda%%%i\*.dbx" %Kuda% /Q /Y /R /C >nul

-------
Даже самая сложная проблема обязательно имеет простое, лёгкое для понимания, неправильное решение. Каждое решение плодит новые проблемы.


Последний раз редактировалось megaloman, 25-05-2011 в 22:14.

Это сообщение посчитали полезным следующие участники:

Отправлено: 19:00, 25-05-2011 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

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


Ветеран


Contributor


Сообщения: 2735
Благодарности: 1699

Профиль | Отправить PM | Цитировать


Если в пути есть символы кириллицы, например:
\\server\profile\Рога и копыта\db\
то скрипт следует обязательно записат в 866 кодировке (например, в редакторе файл-менеджера FAR),
либо (если, например, в стандартном блокноте), начать вот таким образом

@Echo Off
chcp 1251

и далее текст скрипта как он был ранее

-------
Даже самая сложная проблема обязательно имеет простое, лёгкое для понимания, неправильное решение. Каждое решение плодит новые проблемы.


Отправлено: 19:28, 01-06-2011 | #3


Пользователь


Сообщения: 139
Благодарности: 49

Профиль | Отправить PM | Цитировать


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

Отправлено: 09:54, 02-06-2011 | #4


Ветеран


Contributor


Сообщения: 2735
Благодарности: 1699

Профиль | Отправить PM | Цитировать


Код: Выделить весь код
@Echo Off

Set Dir=D:\
Set FileName=Конкретное имя файла.txt

FOR /F "usebackq delims=" %%i IN (`Dir /b /s /A:-D "%Dir%%FileName%"`) DO Call :PathFile "%%i"
GoTo :Eof

:PathFile
Set FilePath=%~dp1
Echo %FilePath%

GoTo :Eof
Смотрите выше замечание о кодировке

-------
Даже самая сложная проблема обязательно имеет простое, лёгкое для понимания, неправильное решение. Каждое решение плодит новые проблемы.


Последний раз редактировалось megaloman, 02-06-2011 в 16:55.

Это сообщение посчитали полезным следующие участники:

Отправлено: 16:48, 02-06-2011 | #5


Аватара для Butunin Klim

Ветеран


Сообщения: 1482
Благодарности: 117

Профиль | Отправить PM | Цитировать


Продолжение истории с поиском файла и копирование откуда -куда.
@Echo Off
Set Otkuda=\\server\profile\%username%\db\
Set Kuda=\\server2\profile\%username%\db\

с откуда разобрались тут все гуд.
Теперь вопрос встал ребром.
в папке
\\server2\profile\%username%\db\
Создается подпапка со случайным именем если ли возможность перехода на следующию папку ниже уровнем в дереве.
Тобиш
\\server2\profile\%username%\db\%random%
и туда запихнуть то что было найдено с перезатеранием всего что там есть. (папку создавать руками нельзя)

-------
Сообщение помогло? В знак благодарности НАЖМИТЕ ПОЛЕЗНОЕ СООБЩЕНИЕ

Мы зрим не то, что есть вокруг,
А то, что можем видеть зримо.
А то, что зреть не достижимо
Нам не узреть во век веков.

Мой веб-магазин товары Amway http://butunina.ru


Отправлено: 15:01, 08-06-2011 | #6


Ветеран


Contributor


Сообщения: 2735
Благодарности: 1699

Профиль | Отправить PM | Цитировать


Код: Выделить весь код
@Echo Off
Set Otkuda=\\server\profile\%username%\db\
Set Kuda=\\server2\profile\%username%\db\

Set Ran=0000%RANDOM%
Set Ran=%Ran:~-5%

md "%Kuda%%Ran%

FOR /R "%Otkuda%" %%i IN (*.dbx) DO Copy "%%i" "%Kuda%%Ran%\" >nul
0000 добавил чтобы выровнять все случайные наименования по длине (5 символов). По моему мнению, давать имя папке случайным образом- плохая идея. Лучше-по времени создания
Код: Выделить весь код
Set Ran=%Date:~6,4%%Date:~3,2%%Date:~0,2%%Time:~0,2%%Time:~3,2%%Time:~6,2%%Time:~9,2%

-------
Даже самая сложная проблема обязательно имеет простое, лёгкое для понимания, неправильное решение. Каждое решение плодит новые проблемы.


Последний раз редактировалось megaloman, 08-06-2011 в 17:56.


Отправлено: 17:38, 08-06-2011 | #7


Аватара для Butunin Klim

Ветеран


Сообщения: 1482
Благодарности: 117

Профиль | Отправить PM | Цитировать


Ну это MS придумал.
Я так понимаю тут папка создается автоматически?! Это не сработает в нашем случае...
Это папка от Microsoft Outlook создается она автоматом ... по сиду пользователя

-------
Сообщение помогло? В знак благодарности НАЖМИТЕ ПОЛЕЗНОЕ СООБЩЕНИЕ

Мы зрим не то, что есть вокруг,
А то, что можем видеть зримо.
А то, что зреть не достижимо
Нам не узреть во век веков.

Мой веб-магазин товары Amway http://butunina.ru


Отправлено: 22:22, 08-06-2011 | #8


Аватара для Butunin Klim

Ветеран


Сообщения: 1482
Благодарности: 117

Профиль | Отправить PM | Цитировать


Megaloman
Привет.

Смотри. При запуске аутлука у пользователя создается папка в "kyda"
Создается она автоматически имя берется от сида пользователя.

Задача следующая. У нас есть сервер где назодятся старые базы с письмами аутлука в формате Входящие.dbx отправленные.dbx и тд.

Задача при первом входе пользователя и запуска аутлука что бы скрипт сам нашел на сервере текущие dbx и скопировал в профиль пользователя по пути "kyda" + вот этот сид который создается.

Я не могу понять как сохранить эти файлы в путь "kyda"\SID

-------
Сообщение помогло? В знак благодарности НАЖМИТЕ ПОЛЕЗНОЕ СООБЩЕНИЕ

Мы зрим не то, что есть вокруг,
А то, что можем видеть зримо.
А то, что зреть не достижимо
Нам не узреть во век веков.

Мой веб-магазин товары Amway http://butunina.ru


Отправлено: 13:52, 09-06-2011 | #9


Пользователь


Сообщения: 139
Благодарности: 49

Профиль | Отправить PM | Цитировать


Код: Выделить весь код
@Echo Off  

Set Dir=D:\ 
Set FileName=Конкретное имя файла.txt  

FOR /F "usebackq delims=" %%i IN (`Dir /b /s /A:-D "%Dir%%FileName%"`) DO Call :PathFile "%%i" 

GoTo :Eof  

:PathFile 
Set FilePath=%~dp1 
Echo %FilePath%  

GoTo :Eof
Не сработало, или я что не так понял, но после обработки пишет устройство не готово и файл не находит.
и ищет на диске D, хотя нам нужно определить и букву диска.

Последний раз редактировалось profcom, 13-06-2011 в 19:08.


Отправлено: 18:58, 13-06-2011 | #10



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] Поиск и копирование

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
CMD/BAT - [решено] Поиск папки и Копирование файла в данную папку из известного места dark-------13 Скриптовые языки администрирования Windows 4 20-04-2011 11:48
CMD/BAT - [решено] Поиск строк с указанным словом и копирование их в отдельный файл Maartimus Скриптовые языки администрирования Windows 2 13-07-2010 20:25
CMD/BAT - [решено] Поиск каталога и копирование всего его содержимого desk Скриптовые языки администрирования Windows 4 01-07-2009 14:28
[решено] Работа с html-кодом страницы, поиск и копирование нужных строк Sestrichka AutoIt 14 02-04-2009 16:51
[решено] Поиск файлов в подпапках и их последующее копирование D_Master AutoIt 4 10-02-2009 07:32




 
Переход