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

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

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

vu1tur (27-04-2007 11:55): продолжаем в теме «Задачи на bat-файлах 3»  Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 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

   

vu1tur



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

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

  • Всего записей: 3690 | Зарегистр. 01-02-2003 | Отправлено: 16:59 14-11-2006 | Исправлено: Elroir, 04:30 26-04-2007
    WSQ

    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Вопрос: как отличить Windows XP rus  от   Windows XP eng + MUI?
     
    (результат комманды ver идентичен)

    Всего записей: 47 | Зарегистр. 14-06-2006 | Отправлено: 22:27 20-12-2006
    Munster

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    По поводу
    5) удалить все кроме 5 самых последний новых по дате файлов
    как я себе это представляю.  
    сортировка по дате с выводом в текстовый файл.
    перебор строк этого файла со счетчиком и условием что счетчик больше 5 то удаление
    проблема только с реализацией, хотя может я в чем ошибаюсь
    кто может реализовать вылождите пожалуйста код

    Всего записей: 30 | Зарегистр. 11-09-2006 | Отправлено: 00:04 21-12-2006
    Elroir



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

    Код:
     
    @echo off
    pushd Directory
    for /f "usebackq skip=5 tokens=*" %%I in (`"dir /a-d /b /o-d"`) do del /q "%%I"
    popd
     

    Вместо Directory, ставишь полный путь к папке, в которой надо удалить файлы.
     
    Добавлено:
    Невнимательно прочитал - мой код работает со всеми файлами, а не только с архивами.
    Чтобы удалялись только архивы, в команде dir нужно добавить *.rar (rar архивы) или  *.zip (zip архивы)

    Код:
     
    "dir /a-d /b /o-d *.rar"
    или
    "dir /a-d /b /o-d *.zip"
     

    Всего записей: 2631 | Зарегистр. 05-02-2003 | Отправлено: 00:43 21-12-2006
    KapralBel



    Platinum Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    WSQ
    Сходу могу предложить только следующее
    Проверять наличие файла
     
    C:\Documents and Settings\All Users\Start Menu\desktop.ini
    C:\Documents and Settings\All Users\Главное меню\desktop.ini
     
    Думаю разберешься какой в каком случае появляется

    Всего записей: 11354 | Зарегистр. 16-02-2005 | Отправлено: 10:21 21-12-2006
    Malganus

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Нужен скрипт (bat-файл обычный), который бы делал следующие 3 шага:  
    1. В 1С есть такая программа как 1С Server, с помощью ее можно выкидывать пользователей из 1С выделяя их и удаляя. Нужно чтобы скрипт это делал.  
    2. Копирование одного файла в другой.  
    3. Удаленно выключение сервера определенного.  
     
    Поможите пожалуйста.

    Всего записей: 20 | Зарегистр. 18-09-2006 | Отправлено: 11:07 21-12-2006
    KapralBel



    Platinum Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    Malganus
    Как я писал в  
    Помогите со скриптом
    1. Какие ключи у этой программы
    2. Какой файл надо скопировать и куда
    3. shutDown -s -m \\Server -f

    Всего записей: 11354 | Зарегистр. 16-02-2005 | Отправлено: 12:06 21-12-2006
    maverik



    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    как выбрать для копирования файлы с текущей датой?
    нужно из общей кучи вытаскивать архивы созданные в воскресенье.

    Всего записей: 34 | Зарегистр. 30-08-2004 | Отправлено: 12:14 21-12-2006
    KapralBel



    Platinum Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    maverik
    Сегодня
    forfiles /d +0

    Всего записей: 11354 | Зарегистр. 16-02-2005 | Отправлено: 12:20 21-12-2006
    Malganus

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    KapralBel
    Не мог ответить так, как тему заблокировали.

    Цитата:
    1. Какие ключи у этой программы

    А как это узнать?
    По поводу вопроса, где найти 1Cserver(в русском варианте Серверы 1С Предприятия)...При установки серверного варианта 1С , так же устанавливается и это приложение. С помощью него можно добовлять(создавать) новые базы, смотреть в каждой базе наличие пользователей и удалять(отключать от базы) их. Это mmc-консоль.

    Цитата:
    2. Какой файл надо скопировать и куда

    Это я уже сделал.
    Цитата:
    3. shutDown -s -m \\Server -f

    Спасибо.
     
    Еще вопрос, мне нужно чтобы все эти 3 шага были в одном файле. Т.е. чтобы я при необходимости просто его запустил и он по-этапно выполнил эти шаги.
     
    Добавлено:
    KapralBel
    Вопрос еще такой по поводу копирования. Нужно чтобы один файл скопировался(заменяя файл с таким же именем) в n-ое колличество папок. Все папки и сам файл находятся на одном диске.
    Пример:
    Нужно скопировать файл test.txt, находящийся в с:\a\, в папки :
    с:\b\
    c:\c\
    c:\d\
    и т.д.

    Всего записей: 20 | Зарегистр. 18-09-2006 | Отправлено: 13:12 21-12-2006
    KapralBel



    Platinum Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    Malganus
    насчет 1С Сервер - ты просто не правильно назвал её и я решил что утилита есть отдельная
    А для оснастки ммс-консоли работа с батником не предусмотрена
    особенно если ты работаешь с SQL-базой - трудно что посоветовать
     
    Сам батник s.cmd

    Код:
    @Echo Off
    Copy C:\a\test.txt C:\b\
    Copy C:\a\test.txt C:\c\
    Copy C:\a\test.txt C:\d\
    Copy C:\a\test.txt C:\e\
    Shutdown -s -m \\Server -f
     

    Можно конечно копирование сделать по циклу, но так проще

    Всего записей: 11354 | Зарегистр. 16-02-2005 | Отправлено: 15:47 21-12-2006
    maverik



    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    KapralBel
    не понял это какой командой?

    Всего записей: 34 | Зарегистр. 30-08-2004 | Отправлено: 15:51 21-12-2006
    KapralBel



    Platinum Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    maverik
    Ты насчет чего?
    насчет
    Цитата:
    Можно конечно копирование сделать по циклу, но так проще
    ?
    тогда попробуй
    for %%a in (a b c d) Do Echo %%a

    Всего записей: 11354 | Зарегистр. 16-02-2005 | Отправлено: 16:14 21-12-2006
    Malganus

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    KapralBel
    А если не батником, но чтоб все 3 шага выполнялись, возможно?

    Всего записей: 20 | Зарегистр. 18-09-2006 | Отправлено: 16:18 21-12-2006
    KapralBel



    Platinum Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    maverik
    Все понял
    forfiles - 'это маленькая утилита входящая в состав Win2003  
    если надо могу выслать (эл.ящик мне в ПМ)
     
    Добавлено:
    Malganus
    В смысле не батником?
    Т.е. отдельно каждую команду ?
     
    Так запускай из ком.строки по отдельности
    For %a in (b c d e f g h) Do Copy  C:\a\test.txt C:\%a\
    Shutdown

    Всего записей: 11354 | Зарегистр. 16-02-2005 | Отправлено: 16:18 21-12-2006
    Malganus

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

    Цитата:
    Т.е. отдельно каждую команду ?

    Не совсем. Чтобы они выполнялись по нажатию на один файл. Чем написанны не принципиально важно. Главное чтобы я при определенных обстаятельствах мог в срочном порядке запустить этот файл и чтобы он все выполнил без загвосток.

    Всего записей: 20 | Зарегистр. 18-09-2006 | Отправлено: 16:33 21-12-2006
    maverik



    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    KapralBel
    нашёл утилитку
     
    но никак не соображу как туда функцию копирования прикрутить
    исходные данные:
    необходимо скопировать из папки с:\1 в папку с:\2 файлы с текущей датой создания

    Всего записей: 34 | Зарегистр. 30-08-2004 | Отправлено: 16:37 21-12-2006
    JohnRD

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

    Код:
     
    regedit.exe -ea 1.reg "HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\cpdrvlib\license"
     

    получил файл 1.reg

    Код:
     
    REGEDIT4
     
    [HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\cpdrvlib\license]
    "Company"=""
    "InprocServer32"="000000M8AWPUDLG6EP4APFE3ALZ0RHK9A2G0ZATR22VBLF7ECCK9AQ9T38R7CY6B0"
    "PIDKEY"="DV3000001000000005YHDZZVR"
     

     
    нужно значение этого параметра "PIDKEY"="DV3000001000000005YHDZZVR"
    далее мне нужно привязать это значение к машине, чтобы SMS-ом (System Managament server 2003) отсортировать по этому значению,  
    можно ли взять значение этого параметра"PIDKEY"="******" и создать с таким именем файл с:\DV3000001000000005YHDZZVR.txt
    а по ним я смогу привязать..
     
    спасибо
     

    Всего записей: 205 | Зарегистр. 29-08-2004 | Отправлено: 16:39 21-12-2006 | Исправлено: JohnRD, 16:42 21-12-2006
    KapralBel



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

    Код:
     
    @Echo Off
    C:  
    CD C:\1
    forfiles /d +0 /c "cmd /c Copy @file C:\2"

     
    Malganus
    Так я сразу и написал
    создаешь файл е.cmd, со следующим содержимым

    Код:
     
    @Echo Off
    Copy C:\a\test.txt C:\b\
    Copy C:\a\test.txt C:\c\
    Copy C:\a\test.txt C:\d\
    Copy C:\a\test.txt C:\e\
    Shutdown -s -m \\Server -f  

     
    и запускаешь его

    Всего записей: 11354 | Зарегистр. 16-02-2005 | Отправлено: 16:48 21-12-2006
    Jon_Dow

    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    JohnRD - вывод в reg-файл здесь даже не нужен...
    Код:
    FOR /f "usebackq tokens=1,2* skip=4 eol=;" %%a IN (`reg query "HKLM\SYSTEM\ControlSet001\Services\cpdrvlib\license" /v PIDKEY`) DO IF "%%a"=="PIDKEY" SET MY_PIDKEY=%%c
    и получаете нужное вам значение в переменной окружения %MY_PIDKEY%

    Всего записей: 732 | Зарегистр. 25-11-2006 | Отправлено: 17:00 21-12-2006 | Исправлено: Jon_Dow, 17:01 21-12-2006
    Malganus

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    KapralBel
    а какже по поводу 1С и выключения сервера?....мне нужно, чтобы этот скрипт при его запуске, сначала выкинул всех пользователей из 1С, затем подменил файлы в каждой учетке, на файл который мне нужен, а потом выключил сервер(сервер, который нужно выключить, и сервер, на котором стоит 1С , разные)

    Всего записей: 20 | Зарегистр. 18-09-2006 | Отправлено: 17:06 21-12-2006
       

    Страницы: 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

    Компьютерный форум Ru.Board » Операционные системы » Microsoft Windows » Задачи на bat-файлах 2
    vu1tur (27-04-2007 11:55): продолжаем в теме «Задачи на bat-файлах 3»


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

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

    BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

    Рейтинг.ru