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

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

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

vu1tur (25-01-2010 12:41): лимит страниц, продолжение: http://forum.ru-board.com/topic.cgi?forum=62&topic=19668  Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 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 104 105 106 107 108 109 110 111 112 113 114 115 116 117

   

vu1tur



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

 
Важно: копируя батник через буфер обмена из форума не забывайте удалять пробелы в конце каждой строки, т.к. в некоторых случаях из-за этого программа будет работать неправильно!!!
 
Также для удаления концевых пробелов пользуйтесь скриптом от Nagual, или VBS-Скрипт-Модулем от ViSiToR.
 
Для перекодирования кирилицы 866<<>>1251 пользуйтесь онлайн сервисом Перекодировщик кириллицы

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

  • Всего записей: 3690 | Зарегистр. 01-02-2003 | Отправлено: 11:37 26-05-2009 | Исправлено: TechnicsKuzya, 13:53 27-12-2009
    Maza_Faka



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

    Цитата:
    как создать *.txt файл с кодировкой UTF-16LE, имеется ввиду из приложения?

    Из какого приложения?

    Всего записей: 1420 | Зарегистр. 25-10-2006 | Отправлено: 07:25 24-07-2009
    slay1212

    Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Вопрос такой - есть скрипт запускающийся при логоне. В скрипте запускаются утили Руссиновича (psloglist, psshutdown) и др. Проблема такая - при первом запуске от имени какого-либо юзера утиль выдает на экран лицензионный экран , на котором надо кликнуть что-то типа I agree ( 1 кнопка). Поскольку скрипт запускается скрытно, на этом окошке все зависает . Как сделать  чтоб при первом запуске что-то автоматом писалось бы в окне лицензии? Просто эхом кинуть Y не пойдет наверно?
       psloglist.exe -d 0 -s -r -id 528 security  | find /i "logon type: 2" > %tmp%\syst.txt

    Всего записей: 336 | Зарегистр. 28-05-2008 | Отправлено: 09:46 24-07-2009
    graydevil



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

    Всего записей: 59 | Зарегистр. 14-04-2006 | Отправлено: 10:09 24-07-2009
    king_stiven

    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    slay1212
    graydevil
    утилита nircmd эмуляция движения и клика мышкой и нажатия клавиш, в шапке.

    Всего записей: 2229 | Зарегистр. 17-07-2006 | Отправлено: 10:37 24-07-2009
    lorents



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

    Цитата:
    Из какого приложения?

    ой простите опечатался, как мне с конвертировать *.txt файл с кодировкой UTF-8 и ANSI на UTF-16LE?

    Всего записей: 3297 | Зарегистр. 30-12-2007 | Отправлено: 11:18 24-07-2009
    01MDM



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

    Цитата:
    В скрипте запускаются утили Руссиновича (psloglist, psshutdown) и др.

    Сначала запиши значение реестра, а потом запускай утилиту без всяких эмуляций кликов. На примере psexec.exe:

    Код:
     
    @echo off
    reg add hkcu\software\sysinternals\psexec /v "eulaaccepted" /t reg_dword /d "0x1" /f
     
    :: И запускаешь утилиту
     


    Всего записей: 2638 | Зарегистр. 13-02-2006 | Отправлено: 11:42 24-07-2009
    Refugee

    Full Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    slay1212
     psloglist.exe -accepteula -d 0 -s -r -id 528 security  
     
    lorents
    iconv -f UTF-8 -t UTF-16LE file.txt > result.txt

    Всего записей: 513 | Зарегистр. 31-03-2004 | Отправлено: 11:47 24-07-2009
    Crag Hack



    Full Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Возможно ли решить такую задачу: изменить первые 2 байта в файле на некое значение?

    Всего записей: 437 | Зарегистр. 11-07-2002 | Отправлено: 11:53 24-07-2009 | Исправлено: Crag Hack, 11:53 24-07-2009
    01MDM



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

    Цитата:
    -accepteula

    Точно.

    Всего записей: 2638 | Зарегистр. 13-02-2006 | Отправлено: 11:53 24-07-2009
    madmasles

    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    01MDM
     
    Все-таки хотелось разобраться, почему этот код отрабатывает из консоли и не отрабатывает из батника
     
    Подробнее...
     
    И почему он затыкается, если папка находится в корне.

    Всего записей: 1277 | Зарегистр. 25-09-2008 | Отправлено: 12:11 24-07-2009 | Исправлено: madmasles, 13:20 24-07-2009
    lorents



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Refugee
    спасибо,
    а можно еще попросить сделать конвертер Windows-1251 в UTF-16LE?
    и еще подскажите пожалуйста, как можно узнать кодировку *.txt файла?

    Всего записей: 3297 | Зарегистр. 30-12-2007 | Отправлено: 13:28 24-07-2009 | Исправлено: lorents, 13:31 24-07-2009
    Refugee

    Full Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    lorents
    нетрудно догадаться:
    iconv -f windows-1251 -t UTF-16LE file.txt > result.txt
     
    unicode кодировки можно определить по byte order mark (BOM) в начале файла, однобайтовые - анализом частоты символов.

    Всего записей: 513 | Зарегистр. 31-03-2004 | Отправлено: 14:43 24-07-2009
    lorents



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

    Цитата:
    unicode кодировки можно определить по byte order mark (BOM) в начале файла, однобайтовые - анализом частоты символов.

    а можно это узнать через *.bat?

    Всего записей: 3297 | Зарегистр. 30-12-2007 | Отправлено: 15:12 24-07-2009
    Refugee

    Full Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    lorents
    надо скрипт на VBScript или на чём умеешь.
    кстати, в html utf-8 BOM нет

    Всего записей: 513 | Зарегистр. 31-03-2004 | Отправлено: 15:41 24-07-2009
    01MDM



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    madmasles
    Наверное потому что ты в батнике вместо %%i пишешь %i:

    Цитата:
     
    @echo off  
    rd /s /q "%systemdrive%\z1z2z3" 2>nul
    for /f "tokens=*" %i in ('dir /b /s /a:d "%systemdrive%\z1z2z3"') do rd /s /q "%i"
     

     

    Цитата:
    И почему он затыкается, если папка находится в корне.

    Не знаю, это только с папками, т.е к файлам не относится. Может фича?

    Всего записей: 2638 | Зарегистр. 13-02-2006 | Отправлено: 16:28 24-07-2009
    smirnvlad

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

    Цитата:
    И почему он затыкается, если папка находится в корне.

    так происходит из-за команды dir

    Код:
     
    dir /b /s /a:d "%systemdrive%\z1z2z3"
     

    если папка "z1z2z3" есть в корне, то выводится список всех подпапок этой папки, а папки в корне нет - выводится список всех папок на диске с названием "z1z2z3"
    т.е. за-за того, что место поиска (%systemdrive%\) и искомое имя (z1z2z3) передаются как один параметр

    Всего записей: 417 | Зарегистр. 31-03-2009 | Отправлено: 18:04 24-07-2009
    king_stiven

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

    Код:
    dir [диск:][путь][имя_файла]
     
    [диск:][путь]  
    Задание диска и каталога, список файлов которого будет выведен.  
     
    [имя_файла]  
    Задание файла или группы файлов, сведения о которых требуется вывести.  

    Сначала дир смотрит на %systemdrive%\z1z2z3 как на [диск:][путь] и если его нет, то смотрит как на [диск:][имя_файла] .Ещё dir ошибается, если имя файла с пробела начинается.

    Всего записей: 2229 | Зарегистр. 17-07-2006 | Отправлено: 19:23 24-07-2009 | Исправлено: king_stiven, 19:26 24-07-2009
    TX86

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Мне дали написать простенький Bat - файл:  
    Разработать командный файл,который будет выполнять след. задачу  
    в цикле с интервалом в 60 сек проверять наличие файла в каталоге с:\01\ с именем test.txt. При наличии файла отправить сообщение на ПК R02 с текстом "Есть файл" и продолжать проверку.  
    Помогите пожалуйста,буду очень благодарен.

    Всего записей: 7 | Зарегистр. 24-07-2009 | Отправлено: 19:53 24-07-2009
    smirnvlad

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

    Код:
     
    @echo off
    :slabel1
    if exist "c:\01\test.txt" (msg * /time:59 /server:R02 /W "Есть файл!")
    ping -w 1000 -n 61 127.0.0.1
    goto:slabel1
     

    Всего записей: 417 | Зарегистр. 31-03-2009 | Отправлено: 20:22 24-07-2009
    wolf0425



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

    Всего записей: 2928 | Зарегистр. 25-04-2007 | Отправлено: 20:27 24-07-2009 | Исправлено: wolf0425, 20:29 24-07-2009
       

    Страницы: 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 104 105 106 107 108 109 110 111 112 113 114 115 116 117

    Компьютерный форум Ru.Board » Операционные системы » Microsoft Windows » Задачи на bat-файлах 7
    vu1tur (25-01-2010 12:41): лимит страниц, продолжение: http://forum.ru-board.com/topic.cgi?forum=62&topic=19668


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

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

    BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

    Рейтинг.ru