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

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

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

vu1tur (26-05-2009 11:39): часть 7 — http://forum.ru-board.com/topic.cgi?forum=62&topic=17154#1  Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 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-файлах 6
(часть 1, часть 2, часть 3, часть 4, часть 5)
Вопросы, задачи и их решения по работе с командными файлами, а также сопутствующие ссылки.

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

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





    http://forum.ru-board.com/topic.cgi?forum=62&topic=17154

  • Всего записей: 3690 | Зарегистр. 01-02-2003 | Отправлено: 23:07 04-11-2008 | Исправлено: vu1tur, 11:38 26-05-2009
    AADDDDYY



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

    Всего записей: 297 | Зарегистр. 24-01-2007 | Отправлено: 16:54 01-02-2009
    korosya

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

    Цитата:
    Я посмотрел твой архив и сравнил файлы ~intl.inf (получается после обработки iconv) и intl.tmp (результирующий файл) - они как раз отличаются на значения, указанные в DelOC.lst

    В DelOC.lst в первой строке стоит  

    Код:
    85F874.FON

    В intl.tmp остаётся 347 строка  

    Код:
    85f874.fon    = 1,,,,,,,0,0
    .
    То есть удаляются не все записи. Почему?

    Всего записей: 1005 | Зарегистр. 19-07-2003 | Отправлено: 07:48 02-02-2009
    whoyou

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Как создат файл 1.txt с нулевым разделом
    edit 1.txt - не подходит, запускается редактор
    А как без редактора, что б просто создался и все
     
    Добавлено:
    Сорри Как создат файл 1.txt с нулевым размером  
     
    Добавлено:
    Как склеивать файлы это понятно , а вот как делить один файл на части по строке в тексте. Очень надо.
     
    С созданием файла с нулевым размером сделал  
    copy nul файл.txt

    Всего записей: 23 | Зарегистр. 30-01-2009 | Отправлено: 15:59 02-02-2009
    XmakcX

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

    Всего записей: 45 | Зарегистр. 01-06-2008 | Отправлено: 19:31 02-02-2009
    Nagual



    Full Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    whoyou
    1. copy/y nul 1.txt
    2. if not exist 1.txt fsutil file createnew 1.txt 0
     
    Добавлено:
    XmakcX
    такой команды нет, это можно сделать с помощью wsh
    в сети полно информации об этом

    Всего записей: 528 | Зарегистр. 06-01-2006 | Отправлено: 20:17 02-02-2009
    AADDDDYY



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

    А на мой вопрос кто нибудь ответит ????
     
     
     

    Всего записей: 297 | Зарегистр. 24-01-2007 | Отправлено: 21:26 02-02-2009 | Исправлено: AADDDDYY, 21:27 02-02-2009
    Elroir



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    AADDDDYY
    В шапке, в разделе "Полезные утилиты", посмотри утилиту "curl".

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

    Всего записей: 2631 | Зарегистр. 05-02-2003 | Отправлено: 21:53 02-02-2009
    AADDDDYY



    Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    Elroir
    По моему это то что нужно !!!
    Вот бы кто помог !!!!  
    Для меня это как на высокую гору забраться !!!
     
     
    Все дело в том, что мой хостер ввел антибот !
    Теперь, чтобы залить файлы по FTP ( у меня уже все автоматизированно скриптами ) - необходимо вначале зайти и залогиниться браузером ( чтобы зарегистрировался IP ) !!!
    Это КРАЙНЕ не удобно !!!
     
    Вот и просьба большая !!!!
     

    Всего записей: 297 | Зарегистр. 24-01-2007 | Отправлено: 23:06 02-02-2009 | Исправлено: AADDDDYY, 23:15 02-02-2009
    igor_andreev

    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    AADDDDYY
    А страница, с которой можно авторизоваться, доступна из нета всем или только пользующимся услугами твоего провайдера? Если дашь адрес, смогу подсказать, как авторизоваться. Приблизительно так комстрока будет выглядеть:

    Код:

    curl --cookie-jar cookie.txt --data "login=ЛОГИН&password=ПАРОЛЬ" "url"

    В теме про wget есть примеры скачивания с авторизацией, с curl то же самое почти.

    Всего записей: 1705 | Зарегистр. 08-12-2004 | Отправлено: 00:05 03-02-2009
    AADDDDYY



    Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    igor_andreev
     
     
     Отправил в ПМ !!!  
     

    Всего записей: 297 | Зарегистр. 24-01-2007 | Отправлено: 00:43 03-02-2009
    alexEburg

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Доброго времени суток .  
    Имеется вот такой вопрос  , есть необходимость монтировать USB флешку в пустую папку с помощью BAT ника . В XP SP2 я делал так :  
     
    ++++++++++++++++++++++++++++++++++++++++++++++++++++++++  
     
    @echo off  
     
    rem === Mounting ========================================  
        md "%USERPROFILE%\flash"  
        for /f %%i in ('mountvol %CD:~0,2% /l') do (  
            mountvol "%USERPROFILE%\flash" %%i  
        )  
     
    rem === Unmounting drive ==================================  
        for /f %%i in ('mountvol %CD:~0,2% /l') do (  
            mountvol %CD:~0,2% /d  
        )  
     
    ++++++++++++++++++++++++++++++++++++++++++++++++++++++++  
     
    То есть файл находился на флешке  , и запускался он от туда же ( и прекрассно выполнял то что я от него хотел)).  
    В XP SP3 нельзя одновременно дать букву диску  ,и смонтировать диск в какую либо пустую папку ( по крайней мере я не смог этого сделать) .  
    Пробовал сделать так :  
    1) создавал на флешке 2 bat ника  
          а) в первом писал копирование второго в %TEMP% и запуск его оттуда , а так же удаление букввы .  
     
    @echo off  
     
        copy /y Install.bat %TEMP%\  
        start %TEMP%\Install.bat  
         
    rem === Unmounting drive =====================================  
        for /f %%i in ('mountvol %CD:~0,2% /l') do (  
            mountvol %CD:~0,2% /d      
        )  
     
          б) во втором монтирование в пустую папку.  
     
    И столкнулся с такой проблемой . Как мне на любой машине найти USB флеш диск ( а именно его букву , или идентификатор)  и смонтировать его в папку???  
    Может есть способы более простого монтирования ? но я до них не дошел . . .  
    Прошу помочь разобраться

    Всего записей: 2 | Зарегистр. 03-02-2009 | Отправлено: 09:20 03-02-2009
    whoyou

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    С помощью батника возможно ли создавать несколько фаликов из одного по строке в тексте.

    Всего записей: 23 | Зарегистр. 30-01-2009 | Отправлено: 10:23 03-02-2009
    FaUsT333

    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    01MDM
    Вы вот мне помогли с таким вопросом:  
     

    Цитата:
     
    FaUsT333
    Стоит задача переименования 090130.dbf в dbf0_090130.001  
     
    01MDM:
    Код:  
    @echo off  
    for %%i in (*.dbf) do ren "%%i" "dbf0_%%~ni.001"  

    Но в спешке я указал неправильное значение файла, нужно 20090130.dbf в dbf0_090130.001, т.е переменная %%~ni - расширяется до полного имени файла, но мне нужно отрезать первые два символа от имени (в данном случае 20). Каким наиболее оптимальным способом можно это совершить? Спасибо.  
     

    Всего записей: 76 | Зарегистр. 17-04-2008 | Отправлено: 11:21 03-02-2009
    01MDM



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

    Код:
     
    @echo off
    for %%i in (*.dbf) do call:ren "%%i"
    goto:eof
     
    :ren
    set name=%~n1
    ren %1 "db0_%name:~2%.001"
     


    Всего записей: 2638 | Зарегистр. 13-02-2006 | Отправлено: 11:55 03-02-2009
    Nagual



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

    Цитата:
     Как мне на любой машине найти USB флеш диск ( а именно его букву , или идентификатор)

    в первом приближении:
    1. создать уникальных файл в корне этого диска, например usb.id и перебрать все диски, содаржащие этот файл (d—z):
    2. присвоить диску уникальную метку
    перебрать диски (d—z) на предмет соответствия заданной метке
    3. получить данные из реестра (HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\MountPoints2\CPC\Volume\) и ...
     
    тестить и писать код пока нет возможности
     
    whoyou
    Код:
    for /f %%a in (l.txt) do copy/y nul "%%a"
    в файле l.txt список создаваемых файлов
     

    Всего записей: 528 | Зарегистр. 06-01-2006 | Отправлено: 12:10 03-02-2009
    Maza_Faka



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

    Цитата:
    С помощью батника возможно ли создавать несколько фаликов из одного по строке в тексте

    Можно так:

    Код:
     
    @Echo Off
    ChCp 1251>nul
     
    Set txtFile=C:\test.txt
    Set outDir=C:\
     
    For /F "Tokens=*" %%A In ('Type %txtFile%') Do (
        If Exist %outDir%\%%A.txt (
            Echo %%A>>%outDir%\%%A.txt
            ) Else (
            Echo %%A>%outDir%\%%A.txt
            )
        )
     

    Повторяющиеся строки записываются в тот же файл.
     
    Добавлено:
    XmakcX

    Цитата:
    какой командой можно эмулировать нажатие кнопки Enter?

    Google рулит! Пример

    Всего записей: 1420 | Зарегистр. 25-10-2006 | Отправлено: 12:47 03-02-2009
    whoyou

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

    Цитата:
    @Echo Off  
    ChCp 1251>nul  
     
    Set txtFile=C:\test.txt  
    Set outDir=C:\  
     
    For /F "Tokens=*" %%A In ('Type %txtFile%') Do (  
        If Exist %outDir%\%%A.txt (  
            Echo %%A>>%outDir%\%%A.txt  
            ) Else (  
            Echo %%A>%outDir%\%%A.txt  
            )  
        )  
     

    Спасибо, работает , но как сделать чтоб делил файл по заданной строке в тексте

    Всего записей: 23 | Зарегистр. 30-01-2009 | Отправлено: 13:51 03-02-2009
    Skrom_Nick



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

    Всего записей: 2 | Зарегистр. 29-01-2009 | Отправлено: 17:00 03-02-2009 | Исправлено: Skrom_Nick, 17:02 03-02-2009
    FaUsT333

    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Есть вот такая забавная задача:
    Реконект АДСЛ модема, до тех пор, пока он не законектится на определенную подсеть провайдера (Укртелеком, "ОГО"). Подсети всего две 92.112.*.* и 94.178.*.*. С реконектом понятно, используя rasdial, проверку IP можно обеспечить чем то типа ipconfig >1.txt и после сравнивая if строка==строка2, примерно по сырому, такие вот мысли, возможно ли это привести в Божеский вид?
     
    Нашел таки скрипт для данной операции

    Всего записей: 76 | Зарегистр. 17-04-2008 | Отправлено: 17:16 03-02-2009 | Исправлено: FaUsT333, 22:44 03-02-2009
    01MDM



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

    Код:
     
    @echo off
    pushd "U:\Share Folder"
     
    for /d %%i in (*) do (
         pushd "%%i"
         rd /s /q "." 2>nul
         popd
    )
     
    popd
     


    Всего записей: 2638 | Зарегистр. 13-02-2006 | Отправлено: 17:22 03-02-2009 | Исправлено: 01MDM, 17:25 03-02-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

    Компьютерный форум Ru.Board » Операционные системы » Microsoft Windows » Задачи на bat-файлах 6
    vu1tur (26-05-2009 11:39): часть 7 — http://forum.ru-board.com/topic.cgi?forum=62&topic=17154#1


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

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

    BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

    Рейтинг.ru