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

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

Ответить
Настройки темы
CMD/BAT - Поиск 1ой папки и записать ее в переменную

Новый участник


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

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


Изменения
Автор: Andreyk1s
Дата: 07-01-2017
Описание: Опечатки
Подскажите пожалуйста батник в котором, можно найти папки на диске и записать его в переменную. Папки могут находится в разных произвольных подкаталогах, известно только название папки. Нашел только такой вариант, но мне нужно что бы после первой папки поиск остановился (т.к. Папка только одна, а поиск идет долговато). Заранее спасибо!

for /f "tokens=1 delims=" %%D in ('dir /ad /b /s "ПАПКА"') do cd "%%D"

Отправлено: 16:52, 06-01-2017

 

Ветеран


Contributor


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

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


В переменную %Papka%
Код: Выделить весь код
@echo off
cls

Set "DiskName=D:"
Set "DirName=Моя папка"

for /f "usebackq delims=" %%p in (`Dir "%DiskName%\%DirName%" /S /B /A:D 2^>nul`) Do Set "Papka=%%p" & GoTo :Continue

Echo Disk="%DiskName%"  Dir="%DirName%"  not found
pause
GoTo :Eof

:Continue
Echo "%Papka%"
pause

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

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

Отправлено: 19:43, 06-01-2017 | #2



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

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


Забанен


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

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


Цитата Andreyk1s:
...файл только один, а поиск идет долговато...
Так файл или все же папка? В любом случае скорость работы команды dir (ровно как и подобных ей, то есть тех, что используют такие апишные функции Find[First|Next]File) зависит от таких факторов, как уровень фрагментации жесткого диска, а также характеристик процессора. Однако, robocopy работает все же на порядок быстрее, например:
Код: Выделить весь код
@echo off
  setlocal
    set "drive=C:\"
    set "regex=dir_name\\$"
    for /f "tokens=*" %%i in (
      'robocopy %drive% . $ /l /njs /njh /nfl /ns^
       /nc /xj /s /xd recycle* "system vol*"^
       ^|findstr /irec:"%regex%"'
    ) do if not defined dir set "dir=%%i"&goto:next
    :next
    echo %dir%
  endlocal
exit /b
Отрабатает быстрее, нежели то же, но через dir. А если еще кэшировать данные, то поиск покажется вовсе незатратным по времени.
Это сообщение посчитали полезным следующие участники:

Отправлено: 23:31, 06-01-2017 | #3



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

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

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
CMD/BAT - [решено] поиск файла по маске и запись этого имени в переменную ___dima___ Скриптовые языки администрирования Windows 20 18-06-2017 01:46
Любой язык - [решено] Поиск файла в папке и проверка его существования Спаситель Скриптовые языки администрирования Windows 3 22-06-2015 18:02
CMD/BAT - [решено] Поиск файла и замена в его содержимого alderv Скриптовые языки администрирования Windows 3 20-08-2011 13:11
CMD/BAT - [решено] Поиск текстового файла по его содержимому Elektronik063 Скриптовые языки администрирования Windows 1 15-02-2011 03:35
CMD/BAT - [решено] Как определить IP и записать его в переменную? (OS: Windows Vista) Voshal Скриптовые языки администрирования Windows 7 17-05-2010 11:43




 
Переход