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

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в 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
    AZJIO



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

    Цитата:
    set WB=%~dp0
    Reg.exe add "HKLM\SOFTWARE\Stardock\ObjectDesktop\WindowBlinds" /v "Path" /t REG_SZ /d "%WB%" /f
    start wbload.exe

    опять слеш мешает в конце переменной %~dp0.
     
    Добавлено:
    Решил проблему пока так:

    Цитата:
    set WB=%~dp0
    SET "WB=%WB%5z2h7l"
    SET "WB=%WB:\5z2h7l=%"
    Reg.exe add "HKLM\SOFTWARE\Stardock\ObjectDesktop\WindowBlinds" /v "Path" /t REG_SZ /d "%WB%" /f
    start wbload.exe


    ----------
    home

    Всего записей: 4560 | Зарегистр. 03-05-2006 | Отправлено: 16:51 09-02-2009 | Исправлено: AZJIO, 16:56 09-02-2009
    ponand

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

    Цитата:
    Для распаковки zip архивов используется консольная утилита PKZIP.EXE
     

    PKZIP не извлекает выходит с ошибкой :
    PKZIP:  (Е12) Can't find    .ZIP file: 75121_autoshok.zip
    может ключ другой нужен?
    И еще подскажите как отрезать от переменной 4 или 8 последних символа названия файла ?
    Нужно для распаковки например вот такого файла 75121_autoshok.zip.zip в папку autoshok

    Всего записей: 56 | Зарегистр. 14-07-2008 | Отправлено: 17:38 09-02-2009 | Исправлено: ponand, 18:31 09-02-2009
    r00tik



    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Помогите решить проблему
     
    Оставляю в реестре доступ к ветке только для SYSTEM коммандой
    REGPERM /K "HKEY_LOCAL_MACHINE\Software\MyApp" /A:SYSTEM:R /R /F /Q
     
    Снять это ограничение можно зайдя в regedit'e в "Разрешения..." - "Дополнительно" - "Наследовать от родительского обьекта применимые к дочерним обтектам разрешения, дабавляя их к явно заданым в етом окне", а вот через консоль никак не получаеться, ни через regperm ни через SetACL. Прошу помощи
     
     
    regperm - http://homepages.cae.wisc.edu/~micro/regperm/regperm.zip
     

    Всего записей: 45 | Зарегистр. 17-11-2006 | Отправлено: 18:14 09-02-2009 | Исправлено: r00tik, 20:59 09-02-2009
    HAVrik



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

    Цитата:
     
    Net Use Z: \\computername\c$\MyFolder  

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

    Всего записей: 6 | Зарегистр. 06-02-2009 | Отправлено: 05:26 10-02-2009
    el mentiroso



    Junior Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    igor_andreev
    огромное спасибо, вылетело из головы это

    Всего записей: 64 | Зарегистр. 05-12-2006 | Отправлено: 07:31 10-02-2009
    nNau



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

    Цитата:
    так тоже пробовал если просто писать с$ то все нормально а если дальше прописать путь то не подключает диск

    Странно, эта команда точно должна работать.
    Скажите, а случайно в пути, после с$ у вас пробелов, или спецсимволов, или кириллицы нет?
    Если можно, напишите, какой путь у вас не подключается, и какую ошибку выдает.

    Всего записей: 83 | Зарегистр. 13-05-2004 | Отправлено: 07:50 10-02-2009 | Исправлено: nNau, 07:51 10-02-2009
    HAVrik



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

    Цитата:
     
    Странно, эта команда точно должна работать.
    Скажите, а случайно в пути, после с$ у вас пробелов, или спецсимволов, или кириллицы нет?
    Если можно, напишите, какой путь у вас не подключается, и какую ошибку выдает.  

    нет пробелов нет а вот кириллица была) а ошибку он никакую не выдает просто не подключает сетевой диск
     
    Спасибо за помощь

    Всего записей: 6 | Зарегистр. 06-02-2009 | Отправлено: 09:23 10-02-2009
    nNau



    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    HAVrik
    Всегда пожалуйста!
    Я правильно понимаю, проблема решилась?

    Всего записей: 83 | Зарегистр. 13-05-2004 | Отправлено: 09:50 10-02-2009
    HAVrik



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

    Всего записей: 6 | Зарегистр. 06-02-2009 | Отправлено: 10:14 10-02-2009
    whoyou

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Доброго времени суток. Помогите  решить задачку:
    Как в файлах заменить ДВА АБЗАЦА на ОДИН АБЗАЦ.
    файлы *.dat

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



    Junior Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    HAVrik
    в свойствах RDP клиента указываешь какой файл запускать при подключении и папку в которой он лежит.
    либо в автозагрузку для данного пользователя этот файлик положить - при логине срабоатет.

    Всего записей: 64 | Зарегистр. 05-12-2006 | Отправлено: 11:08 10-02-2009
    Maza_Faka



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

    Цитата:
    PKZIP не извлекает выходит с ошибкой :

    А, если просто в ком. строке вбить:

    Код:
     
    pkzip -extr=up 75121_autoshok.zip C:\Archives
     

    Что выдаёт?
     
    Добавлено:
    AZJIO

    Цитата:
    опять слеш мешает в конце переменной %~dp0.

    То есть, нужно удалить последний символ из переменной?

    Код:
     
    set WB=%~dp0
    set WB=%WB:~0,-1%
     

    Всего записей: 1420 | Зарегистр. 25-10-2006 | Отправлено: 11:15 10-02-2009
    HAVrik



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

    Цитата:
    в свойствах RDP клиента указываешь какой файл запускать при подключении и папку в которой он лежит.
    либо в автозагрузку для данного пользователя этот файлик положить - при логине срабоатет.

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

    Всего записей: 6 | Зарегистр. 06-02-2009 | Отправлено: 11:23 10-02-2009
    Maza_Faka



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

    Цитата:
    Как в файлах заменить ДВА АБЗАЦА на ОДИН АБЗАЦ

    В смысле? Удалить пустую строку между ними?

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

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Maza_Faka
     
    Удалить строку в обном случае
    В другом в некоторых файлах абзац (перевод страки) в тексте отображается символом в виде прямоугольника заменить на знак абзаца нормальный

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



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

    Цитата:
    В другом в некоторых файлах абзац (перевод страки) в тексте отображается символом в виде прямоугольника

    Приведи пример файла.

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

    Junior Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    ой, чтой-то опоздал я с ответом...
    Mgrom
    Тут конечно нужен батник
    у меня есть батник собирающий в архив из указанных мест DOC и XLS имеющие встроенные VBA программы. Привожу его здесь. Ищется словосочетание module=

    Код:
    @echo off
    setlocal ENABLEDELAYEDEXPANSION
    set "places=C:,D:,E:,F:,Z:\bin,Z:\home"
    echo Collecting  all VBA files from !places! ...
    echo.
    set "out=c:\vba_list"
    if exist !out! del !out!
    for /F "tokens=* delims=," %%Z in ("%places%") do call :work %%Z
    set pt=%0
    echo Starting archeving ...
    rar u -ep3 -inul %pt:~0,-16%\all_VBA @!out!
    goto :eof
     
    :work
    if "%1"=="" goto :eof
    for /F "tokens=* delims=`" %%a in ('findstr /s /i /m /c:"module=" %1\*.xls %1\*.doc') do echo %%a >> !out!
    echo place %1 done...
    shift
    goto :work

    Он перебирает диски и указанные папки, запуская в каждом из них findstr, который сам умеет "шарить" по поддиректориям. Строки, возвращенные findstr'ом разбираются  
    строкой  
    or /F "tokens=* delims=`" %%a in ('findstr /s /i /m /c:"module=" %1\*.xls %1\*.doc') do echo %%a >> !out!
    которая формирует список файлов в переменной out.
    замените places= и строку module= в findstr на нужные и будет искать что надо и где ; так же поможет findstr /?, for /?
    Ай, Вам же копировать надо! Хм... Щас...
    после RAR u ...
    поставьте
    RAR e -ep -inul %pt:~0,-16%\all_VBA *.* <путь куда копировать>
    и у Вас будет архивная копия скопированных файлов. Если это излишне, то правтся место do echo %%a >> !out! на copy "%%a" <путь куда копировать>
    из файлов с однаковыми именами останутся последние найденные
    Успехов

    Всего записей: 70 | Зарегистр. 27-07-2006 | Отправлено: 12:44 10-02-2009 | Исправлено: Ilyansk, 13:23 10-02-2009
    whoyou

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Maza_Faka
     
    В таблице символов он идет по кодом 00A0 Юникод.  
    А как файлик прикрепить, в текст он скрытый.  
     
    Добавлено:
    Maza_Faka
     
     
    [img=http://img25.imageshack.us/img25/940/symbolcg4.jpg]

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

    Junior Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    whoyou
    если работа разовая и юзаешь FAR, установи плагин S&R, который умеет заменять в файлах одни строки (символы) на другие, причем работает с регулярными выражениями типа \x0A{2,} (найти шестнадцатиричное 0А повторяющееся 2 или более раз подряд), заменить соотвественно на пусто. Правда для перевода строки может использоваться символ 0D (hex) или их сочетание с предыдущим: 0D0A, тогда меняешь паттерн поиска на (\x0D\x0A){2,} и объявить "весь файл, как одна строка"

    Всего записей: 70 | Зарегистр. 27-07-2006 | Отправлено: 13:37 10-02-2009 | Исправлено: Ilyansk, 13:46 10-02-2009
    whoyou

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

    Цитата:
    whoyou  
    если работа разовая и юзаешь FAR, установи плагин S&R, котовый умеет заменять в файлах одни строки (символы) на другие, причем работает с регулярными выражениями типа \x0A{2,} (найти шестнадцатиричное 0А повторяющееся 2 или более раз подряд)  
    заменить соотвественно на пусто. Правда для перевода строки может использоваться символ 0D (hex) или их сочетание с предыдущим: 0D0A

     
    Все это класно но когда в день по 200-400 файликов приходит и их надо прверить, день удет. Файлики приходят с IBM машины.

    Всего записей: 23 | Зарегистр. 30-01-2009 | Отправлено: 13:42 10-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