Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Операционные системы » Microsoft Windows » Задачи на bat-файлах 4

Модерирует : KLASS, IFkO

evle (19-03-2008 19:44): Лимит страниц.
Задачи на bat-файлах 5
 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103

   

vu1tur



Moderator-Saaber
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Задачи на bat-файлах
(часть 1, часть 2, часть 3)
Вопросы, задачи и их решения по работе с командными файлами, а также сопутствующие ссылки.

 
Важно: копируя батник через буфер обмена из форума не забывайте удалять пробелы в конце каждой строки, т.к. в некоторых случаях из-за этого программа будет работать неправильно!!!
 
Также для удаления концевых пробелов пользуйтесь скриптом от Nagual, или VBS-Скрипт-Модулем от ViSiToR
.
 
Дополняем шапку: добавляем готовые решения, полезные ссылки.
 
Примечание: Большие куски кода заключайте в тэг [more]  
 
Смежные темы:
В помощь системному администратору » Автоматизация администрирования
Программы » Командная строка, батники\сценарии
 
Полезные ссылки
 
Полезные утилиты
 
Готовые решения и частые вопросы:
  • Встроенный справочник по командам
  • Создание помощи по всем командам консоли 2000 и XP
  • Делаем паузу в командном файле стандартными средствами Windows
  • Альтернативные решения »
  • Работа с текстом, датой, и файлами »
  • Администрирование, автоматизация и сеть »
  • Работа с переменными и параметрами ком. строки »
     
    Описания работы команд и символов участниками темы:
    · setlocal enabledelayedexpansion и переменные окружения
    · символы & и && в командной строке
    · Переменная %0

  • Всего записей: 3690 | Зарегистр. 01-02-2003 | Отправлено: 15:21 11-09-2007 | Исправлено: Elroir, 01:52 26-02-2008
    vu1tur



    Moderator-Saaber
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    Vadzim2003
    attrib +r %file%
    del /Q /A-R *.log

    ----------
    I am free of all prejudice. I hate everyone equally.

    Всего записей: 3690 | Зарегистр. 01-02-2003 | Отправлено: 11:43 04-10-2007
    Elroir



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    vu1tur
    Тогда надо добавить еще одну строчку в конце:

    Код:
    attrib -r %file%

    иначе в следующий раз этот файл не удалится

    ----------
    "В интернете есть все, но не всегда"

    Всего записей: 2631 | Зарегистр. 05-02-2003 | Отправлено: 12:04 04-10-2007
    Vadzim2003

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    working

    Всего записей: 5 | Зарегистр. 02-10-2007 | Отправлено: 13:29 04-10-2007
    wolf0425



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    А можно ли из батника поменять сетевое имя компа?
    А включить его в домен?

    Всего записей: 2928 | Зарегистр. 25-04-2007 | Отправлено: 15:11 04-10-2007
    vu1tur



    Moderator-Saaber
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    wolf0425
    How To Use the Netdom.exe Utility to Rename a Computer in Windows XP

    ----------
    I am free of all prejudice. I hate everyone equally.

    Всего записей: 3690 | Зарегистр. 01-02-2003 | Отправлено: 15:43 04-10-2007
    KKrack

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Здравствуйте.
     
    Помогите, пожалуйста, создать батник, который при помещении в авторан флэшки, открывал бы заданную папку, а главное, менял бы букву диска на заданную, например , "В:"
     
    Смог только так пока...
     
    @Echo Off
    Set Drive=%~d0        /определили букву диска
    start %~d0\LABELS\    /открыли папку labels в корне диска.
     
    Но буква- то на разных машинах разная... а в папке labels толпа ярлыков, и пути теряются...
     
    Вручную букву менять- тогда авторан не нужен..
    ПОмогите пожалуйста!

    Всего записей: 9 | Зарегистр. 04-10-2007 | Отправлено: 17:31 04-10-2007
    simplix



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    KKrack
    Возможно батник и не потребуется, попробуй создать в корне флешки Autorun.inf с содержимым:

    Код:
    [AutoRun]
    UseAutoPlay=1
    action=explorer .
    open=explorer .
    shellexecute=explorer .
    shell\Autoexec\command=explorer .
    shell=Autoexec

    Вместо "explorer .", который открывает корень флешки, можно указать нужную папку, например "explorer .\Папка".

    Всего записей: 1151 | Зарегистр. 08-08-2005 | Отправлено: 18:50 04-10-2007
    01MDM



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    KKrack
     
    Можно создать виртуальный диск

    Код:
     
    @ECHO OFF
    subst z: %~d0\Labels
    start "" explorer z:\
     

     
    Это конечно не совсем то, как вариант. Только потом надо удалить виртуальный диск:

    Код:
     
    subst z: /d
     

     
     
    Добавлено:
    Буква диска может быть любой допустимой, а путь к корню будущего диска пропиши сам (в моем примере папка Labels).

    Всего записей: 2638 | Зарегистр. 13-02-2006 | Отправлено: 19:11 04-10-2007
    KKrack

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    simplix
     
    Сейчас у меня похожий авторан:
     
    [autorun]  
    UseAutoPlay=1
    shellexecute=LABELS
     
    action=@LABELS
    label=Flash_by_...
    icon=icon.ico
    Shell\cmd1\Command = LABELS
     
    Открывает, но мне-то надо, чтобы пути ярлыков из папки лабелс не нарушались, чтобы проги с флэхи запускать можно было без проблем.
     
    01MDM
     
    Думал, но .. не то.
     
    Спасибо всем, но железного варианта пока нет..
     
    Думаю- алг должен быть: 1- смотрим букву,  
    2- сравниваем,  
    3- если та, открываем нужную папку, выходим
    4- если не та, меняем на нужную, выходим  
     (при запущеной проге буква не сменится, думаю, и открытие папки будет бесполезным) - а юзеру придется кликать по ярлыку диска, чтобы авторан сработал повторно.
    Но это, IMHO , единственный вариант, остается его перевести для компа..

    Всего записей: 9 | Зарегистр. 04-10-2007 | Отправлено: 19:46 04-10-2007
    01MDM



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Буква диска может быть любой допустимой, а путь к корню будущего диска пропиши сам (в моем примере папка Labels).

    Всего записей: 2638 | Зарегистр. 13-02-2006 | Отправлено: 19:48 04-10-2007
    IVAndron

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    В Windows98 с помощью команды: net config | find /I "Пользователь"
    получаем ответ: "Пользователь                   Sasha"
     
    Хочу из полученного ответа удалить слово Пользователь с дальнейшими пробелами (их 19 штук), чтобы оставшееся имя пользователя (Sasha) передать команде mkdir для создания директории на сервере \\server\user\Sasha.
     
    Возможно ли это сделать? Если нет то может есть какое-нибудь другое решение для Windows 98?
     
    p.s. Это нужно в условиях домена. В win2k и winXP проблем с этим нет так там есть переменная окружения %username%, она передается mkdir и создается директория пользователя, которая в последствии подключается сетевым диском.

    Всего записей: 8 | Зарегистр. 22-08-2005 | Отправлено: 20:25 04-10-2007
    01MDM



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    KKrack
     
    Проще поставить какую-нибудь запускалку, у меня pstart.exe удобно и ярлыков не надо.  

    Всего записей: 2638 | Зарегистр. 13-02-2006 | Отправлено: 21:06 04-10-2007
    KKrack

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    01MDM
     
    Спасибо за совет!  
    Пришлось поставить ее пока, но неудобнее стало на знакомых компах- там-то буква уже поменяна.. А неудобнее из-за длинной менюшки- около 50 ярлыков, и то не все, в папке лучше выглядело.. Но на чужой машине должно быть зачет, уже попробовал!!
    Вопрос на всякий случай остается в силе, вдруг решение у кого готовое есть..

    Всего записей: 9 | Зарегистр. 04-10-2007 | Отправлено: 22:54 04-10-2007
    king_stiven

    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    KKrack
    А нельзя ли, после того, как открылась папка LABELS на чужом компе, запустить батник, который залезет во все ярлыки и поменяет в них букву диска на нужную?

    Всего записей: 2229 | Зарегистр. 17-07-2006 | Отправлено: 08:35 05-10-2007
    Maza Faka



    Advanced Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    KKrack
    Поменять букву флешки можно так:
     

    Код:
     
    @Echo Off
    Set drive=%~d0
    Echo Select volume %drive% > test.txt
    Echo Assign letter Z>> test.txt
    Start /min DiskPart /s test.txt

     

    Батник поместить в корень флешки и прикрутить к авторану.
     
    В вышеуказанном коде, флешке назначается буква Z, соответственно все ярлыки нужно переделать в соответствии с этой буквой. Да, и на всякий случай кинуть в корень флешки утилиту DiskPart.exe, а то вдруг на машине будет стоять например Win2000, а этой утилиты там вроде нету.
     
    Добавлено:
    king_stiven

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

    И как ты себе это представляешь? Ярлык это ведь не текстовый файл.

    Всего записей: 1420 | Зарегистр. 25-10-2006 | Отправлено: 08:59 05-10-2007
    king_stiven

    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Maza Faka
    Да, наверно не получится заменить, хотя выдрать путь из ярлыка можно. Твой вариант хорошо смотрится.

    Всего записей: 2229 | Зарегистр. 17-07-2006 | Отправлено: 09:36 05-10-2007 | Исправлено: king_stiven, 09:44 05-10-2007
    KKrack

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Maza Faka
     
    СПАСИБО!!!  РЕСПЕКТ!!!  
    Попробовал, работает, ща займусь доводкой до ума.
    подобного решения даже не предполагал..

    Всего записей: 9 | Зарегистр. 04-10-2007 | Отправлено: 09:45 05-10-2007 | Исправлено: KKrack, 09:47 05-10-2007
    king_stiven

    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

    Цитата:
    Поменять букву флешки можно так:  
     
     
    Код:  
    @Echo Off  
    Set drive=%~d0  
    Echo Select volume %drive% > test.txt  
    Echo Assign letter Z>> test.txt  
    Start /min DiskPart /s test.txt  

    Если работает, надо в шапку добавить.

    Всего записей: 2229 | Зарегистр. 17-07-2006 | Отправлено: 09:58 05-10-2007
    vserd

    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

    Цитата:
    @Echo Off  
    Set drive=%~d0  
    Echo Select volume %drive% > test.txt  
    Echo Assign letter Z>> test.txt  
    Start /min DiskPart /s test.txt  

    Как работает под пользователем????
    KKrack
    Попробуй поковыряться в  
    HKEY_LOCAL_MACHINE\SYSTEM\MountedDevices
    тебе нужно будет выковырять свою флешку (UID) и вносить ее в реестр на новой машине.
    Вносить лучше где-то по средине, т.к. z обычно бывает занят...
    Еще вариант, попробуй сделать ярлык с переменной окружения. Если получится, тогда задача упрощается. Будешь добавлять свою переменную в список.
     
    Только вот что ты будешь делать если Autorun заблокирован?

    Всего записей: 2065 | Зарегистр. 08-05-2002 | Отправлено: 10:33 05-10-2007
    king_stiven

    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    KKrack
    А как такой вариант, если способ Maza Faka не подойдёт: создаём не ярлыки а батники с именем проги, в которых прописаны относительные пути к этим прогам? Создать батники автоматически можно с помощью тотал командера. Пусть у нас на флешке папка \labels\ и папка \всё остальное\
     
    запуск с флешки.bat

    Код:
    @echo off
    chcp 1251
    for /f "usebackq tokens=*" %%c in (%1) do (
        echo chcp 1251>"%~2%%~nc.bat"
        echo cd ..>>"%~2%%~nc.bat"
        echo "%%~pnxc">>"%~2%%~nc.bat"
    )

     
          Создание команды в меню "Запуск"        
       Открыть тотал командер
        меню 'Запуск'
            Изменить меню 'Запуск'
                Добавить
                    Вписать название элемента меню ( например "запуск с флешки")
                    O. K.
                в строке 'Команда' вписать полный путь , где находится батник, например: E:\запуск с флешки.bat
                в строке 'Параметры' вписать: "%L" "%T"
                O. K.  
     
    Выделяем в одной панели файлы, щёлкаем 'Запуск'-"запуск с флешки", и в другой панели образуются батники с именами выделенных файлов и запускающие файлы вне зависимости от буквы диска.
    Открываем, например, в правой панели \labels\, в левой панели \всё остальное\( активна левая панель), ctrl+b. Далее делаем вид "по типу" и все 50 файлов .exe будут рядом. Выделяем их, щёлкаем 'Запуск'-"запуск с флешки" и в labels у нас 50 батников с именами прог.

    Всего записей: 2229 | Зарегистр. 17-07-2006 | Отправлено: 14:02 05-10-2007 | Исправлено: king_stiven, 00:29 06-10-2007
       

    Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103

    Компьютерный форум Ru.Board » Операционные системы » Microsoft Windows » Задачи на bat-файлах 4
    evle (19-03-2008 19:44): Лимит страниц.
    Задачи на bat-файлах 5


    Реклама на форуме Ru.Board.

    Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
    Modified by Ru.B0ard
    © Ru.B0ard 2000-2024

    BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

    Рейтинг.ru