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

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

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

KLASS (06-03-2018 00:44): Объединение тем по сценариям: Сценарии Windows
 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 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

   

hErAx

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

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

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

  • Отправлено: 01:53 25-10-2015 | Исправлено: Paromshick, 21:51 18-12-2017
    Linksach



    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    но если можно не вручную тыкать,если есть лучший вариант,только за
    а на странице актёра мне всего лишь надо увидеть в скольких ролях он сыграл,то есть  
    надпись в конце его анкеты Actor (11 credits)
    Abdur Ratin -(11 credits)-11 ролей как вы поняли
    и так с каждым из 34255
     
    Я извиняюсь,кроме того что надо смотреть в скольких ролях сыграл,но ещё надо будет смотреть Director (режиссёр) и  
    Writer (сценарист),если таковые будут там присутствовать
     
    А вот текстовый файл из актёров
     
    файл
     
    Надеюсь на помощь!

    Всего записей: 113 | Зарегистр. 11-07-2015 | Отправлено: 11:54 24-01-2018 | Исправлено: Linksach, 15:45 24-01-2018
    mat86



    Full Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Можно ли через командную строку определять подключена ли мышь?
    То есть задача такая включается компьютер если мышь определяется ничего не происходит, если не определяется (драйверов usb3 не хватает), тогда запускается драйверпак с автоматической установкой драйверов usb3

    Всего записей: 438 | Зарегистр. 19-03-2009 | Отправлено: 16:06 24-01-2018
    alex52mail

    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Тут задумали перенести систему на другую букву. Жестоким взломом тут переместили XP и W7 но 10ка щепетильна к взломам и не переместилась.
    Поэтому начат поиск официальных путей переноса системного раздела на другую букву без взлома.
     
    В работающей системе, официальным regedit от админа:
    [HKEY_LOCAL_MACHINE\SYSTEM\MountedDevices]
    Переименовываем \\DosDevices\\C  на \\DosDevices\\X
    и заменяет на Х в
    [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion]
    "CommonFilesDir"="X:\\Program Files\\Common Files"
    "ProgramFilesDir"="X:\\Program Files"
    Также пока найдены  
    Но после перезагрузки создается новый рабочий стол, и голый экран.
    При голом экране Cntr+Alt+Del запускаем taskmgr и через него totalcmd и  \cmd set показывает что еще надо изменить на Х
     
    И в >cmd set    все на месте, на Х кроме нужного  USERPROFILE=X:\Users\alex
    Даже замена WinHex в \NTUSER.DAT  букв дисков не изменяет загрузку с новым рабочим столом.
     
    Тут народ опытнее в реестре, и может велосипед уже изобретен.
    1).  Где и как можно изменить в реестре без взлома файлов, чтобы перенести системный раздел на другую букву ?
    Лучше  одним *.reg задать все изменения.

    ----------
    Везде трудно первые 15 лет, потом легче.
    Все проблемы имеют ПРОСТОЕ решение
    Ты начальник я дурак я начальник ты дурак. Но хуже дурака дурак с инициативой.

    Всего записей: 1569 | Зарегистр. 04-09-2015 | Отправлено: 22:25 26-01-2018 | Исправлено: alex52mail, 02:06 28-01-2018
    NIKZZZZ



    Gold Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    alex52mail
    Задача слишком серьезная, что-бы решить ее reg файлом или батником, однако в продуктах TeraByte есть готовый скрипт для смены букв дисков.

    Всего записей: 5365 | Зарегистр. 08-02-2006 | Отправлено: 03:31 27-01-2018
    LevT



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

    Цитата:
    есть готовый скрипт для смены букв дисков.  

     
    неужели даже онлайн?

    Всего записей: 17168 | Зарегистр. 14-10-2001 | Отправлено: 12:46 27-01-2018
    alex52mail

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

    Цитата:
    NIKZZZZ  Задача слишком серьезная, что-бы решить ее reg файлом или батником, однако в продуктах TeraByte есть готовый скрипт для смены букв дисков.  
    Ради скрипта для такой задачи просмотрел шапку TeraByte,  загрузил и установил bootitbm_en_trial.zip и  ifw_en_trial.zip но наверное не так усердно искал и скрипта не нашел. А ко всем таким прибабахам личное отношение их ненужности.   Тут также устанавливал в -diff.vhd с EWF фильтром, без сохранения временного\лишнего.
    Все должно быть проще, только найти простое требует больших усилий, как наверное и тут.
     
    Тут операционная система уже перенесена и запускается и работает с новой буквы.  Но возникла проблема загрузки пользователя, встречавшая ранее не однократно при создании\модификации  wim.  Поэтому хочется в ней разобраться, и сформулировать вопрос так:
     
    Система загружается в новый рабочий стол и с голым экраном.   И при создании с новой буквы нового админ, его загрузка  идет, но опять в голый экран.
    При голом экране Cntr+Alt+Del запускаем taskmgr и через него любую оболочку типа BSExplorer,  totalcmd и система работает.
     
     1).  Где в Реестре, *.ini  исправить для нормальной загрузки системы ?
     
    2).  Что не так с загрузкой такой системы в новый рабочий стол при существующем пользователе ?  
    P.S.  Решено, меняет тут и система грузиться в старого пользователя  
    [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList
     
     3).  Есть ли reg редактор чтобы в работающей системе без внешнего взлома хором заменить ВСЕ и ВЕЗДЕ  типа C:\ на  X:\  ?

    ----------
    Везде трудно первые 15 лет, потом легче.
    Все проблемы имеют ПРОСТОЕ решение
    Ты начальник я дурак я начальник ты дурак. Но хуже дурака дурак с инициативой.

    Всего записей: 1569 | Зарегистр. 04-09-2015 | Отправлено: 21:28 27-01-2018 | Исправлено: alex52mail, 23:23 27-01-2018
    NIKZZZZ



    Gold Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    alex52mail
    Скрипт называется setwindl.tbs входит в пакет TeraByte OS Deployment Tool Suite , который в сбою очередь входит в состав TeraByte Image for Windows .

    Цитата:
    Тут операционная система уже перенесена и запускается и работает с новой буквы.  Но возникла проблема загрузки пользователя,

    Запускается и работает разные вещи, в данном случае, запускается, но не работает.
    Вы сломали систему, так, что вопросы один и два бессмысленны, разбирайтесь что сделали не так, когда ее правили.
    Редакторы есть, например jv16 позволяет сделать групповую замену в реестре, только не надейтесь, что это решит проблему.
    Вообще-то в данной ветке это

    Всего записей: 5365 | Зарегистр. 08-02-2006 | Отправлено: 06:23 28-01-2018
    uncleShi



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    alex52mail
    Цитата:
    загрузил и установил bootitbm_en
    Есть у меня одна такая, для баловства, сделано через setwindl.tbs, всё нормально работает:

    *


    Всего записей: 3024 | Зарегистр. 29-05-2003 | Отправлено: 15:34 28-01-2018
    djdtyfhu



    Full Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Искал решение в предыдущих темах но не нашел.
     
    Задача:
     Есть корневая папка, в ней набор папок. В данных подпапках есть разное количество файлов.
     Каждый из файлов находящихся в корневой папке и подпапках надо запаковать в отдельные ZIP архивы с именем исходного файла, исходные  файлы после упаковки удалить.
     
    Подскажите как решить.

    Всего записей: 422 | Зарегистр. 28-12-2004 | Отправлено: 18:29 28-01-2018 | Исправлено: djdtyfhu, 21:41 28-01-2018
    Inoz2000



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

    Цитата:
    надо запаковать в отдельные ZIP архивы
    вам надо архиватор

    ----------
    Мы все умрём. (-:

    Всего записей: 4916 | Зарегистр. 23-04-2009 | Отправлено: 10:14 29-01-2018
    djdtyfhu



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

    Цитата:
    вам надо архиватор

     
    Стандартными средствами архиваторов это не делается.

    Всего записей: 422 | Зарегистр. 28-12-2004 | Отправлено: 13:39 29-01-2018
    LevT



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

     get-childitem  -Path 'C:\Folder' -Recurse -File | foreach { zip ... }
     
    если такой Powershell канает вместо батника, то можно уточнить что там в фигурных скобках
    Если система  - или хотя бы PS - достатчно новые, то используйте Compress-Archive

    Всего записей: 17168 | Зарегистр. 14-10-2001 | Отправлено: 13:47 29-01-2018
    RetroRocket



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

    Цитата:
    надо запаковать в отдельные ZIP архивы с именем исходного файла, исходные  файлы после упаковки удалить

    pack.cmd
    Код:
    if -%1==- goto end
    for /f "delims=" %%a in ('dir "%1" /a-d/b/s') do pkzip.exe -m %%~dpna.zip %%a  
    :end

    В качестве параметра указывается путь к обрабатываемому каталогу. Например, команда "pack.cmd c:\trash" переместит (с удалением) все файлы из каталога c:\trash и его подкаталогов в zip-архивы, названные по именам перемещаемых файлов.
    Архиватор pkzip.exe должен быть доступен через переменную %PATH% (или указать полный путь к нему в команднике).  
    Ограничения - если в одном каталоге будет несколько файлов с одинаковыми именами (и разными расширениями), то они упакуются в один архив с тем же именем. Не проверял для файлов/каталогов с пробелами/кириллицей. Использовал pkzip.exe версии 2.06 от 1994 года (другого не было под рукой).
     

    Всего записей: 2689 | Зарегистр. 02-01-2018 | Отправлено: 14:10 29-01-2018 | Исправлено: RetroRocket, 14:27 29-01-2018
    djdtyfhu



    Full Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    RetroRocket
     
    Спасибо за направление, в котором надо двигаться.
     
    Модифицировал под свою задачу следующим образом:

    Код:
     
    if -%1==- goto end
    for /f "delims=" %%a in ('dir "%1" /a-d/b/s') do winrar a -m5 -ep -df "%%~dpna.zip" "%%a"
    :end
     

     
    На вход подаю путь корневой папки.
    На выходе все файлы архивируются в свои архивы формата ZIP (использовать только WinRAR, т.к. в консольной версии RAR нет поддержки формата ZIP. После архивирования файлы удаляются.
     
    В данной версии файла необходимо, чтобы путь нахождения программы WinRAR был в переменной PATH, ну или указывать явный путь к файлу:

    Код:
     
    if -%1==- goto end
    for /f "delims=" %%a in ('dir "%1" /a-d/b/s') do "c:\Program Files\WinRAR\WinRAR.exe" a -m5 -ep -df "%%~dpna.zip" "%%a"
    :end
     

     
     
    Еще один вариант без использования параметров для bat файла:

    Код:
     
    set "SourcePath=d:\test fb2 folder"
    for /f "delims=" %%a in ('dir "%SourcePath%" /a-d/b/s') do "c:\Program Files\WinRAR\WinRAR.exe" a -m5 -ep -df "%%~dpna.zip" "%%a"
     

     
    Последний вариант тестировал и на директориях с пробелами в названии и с русскими символами - все ОК.
     
    Беспрерывные улучшения: исходный скрипт работает в Windows 10, но не работает в Windows 8.1.
    Попробую доработать:

    Код:
     
    chcp 1251 >nul
    set "SourcePath=d:\test fb2 folder"
    for /f "delims=" %%a in ('dir "%SourcePath%" /a-d/b/s') do "c:\Program Files\WinRAR\WinRAR.exe" a -m5 -ep -df "%%~dpna.zip" "%%a"
     

     
    Последний скрипт у меня отработал боевую задачу - 1769 файлов в 597 различных директориях с пробелами и русскими символами.

    Всего записей: 422 | Зарегистр. 28-12-2004 | Отправлено: 20:08 29-01-2018 | Исправлено: djdtyfhu, 20:46 29-01-2018
    NIKZZZZ



    Gold Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    djdtyfhu
    Вообще-то , если это одноразовая задача, она решается, например, в Total Commander в несколько нажатий.
    Открываем в левом окне откуда, в правом куда.
    В левом нажимаем ctrl+b (показать все файлы), ctrl+a (выделить все), alt+F5 (упаковать), выбираем нужный архиватор, без путей, каждый файл файл в отдельно архиве, задача решена, остается только удалить исходный каталог.  

    Всего записей: 5365 | Зарегистр. 08-02-2006 | Отправлено: 20:34 29-01-2018
    djdtyfhu



    Full Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    NIKZZZZ
     
    В этом случае не будет сохранена структура каталогов.

    Всего записей: 422 | Зарегистр. 28-12-2004 | Отправлено: 20:47 29-01-2018
    NIKZZZZ



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

    Цитата:
    В этом случае не будет сохранена структура каталогов.

    Так в поставленной задаче было именно это условие, а с сохранением путей - поставьте галку "с путями"

    Всего записей: 5365 | Зарегистр. 08-02-2006 | Отправлено: 21:09 29-01-2018
    alex52mail

    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    NIKZZZZ и uncleShi Спасибо за полезную информацию по вопросу. Покопавшись еще, поместил ответ в форме, как хотел бы сам видеть при постановки вопроса.
    К сожалению, когда выбираешь замену типа  X:\  на  Z:\  jv16 меняет только начинающие с  X:\ строки, и меняет ВСЮ строку на строку только с  Z:\   Надо дальше искать редактор реестра с заменой только указанного в любой части строки, не трогая остальную часть строки.
    Понимаю вопрос вышел за пределы темы, но пролистав несколько страниц тем форума не нашел где обсудить Реестр.  
    Не могли бы подсказать где такая тема?

    ----------
    Везде трудно первые 15 лет, потом легче.
    Все проблемы имеют ПРОСТОЕ решение
    Ты начальник я дурак я начальник ты дурак. Но хуже дурака дурак с инициативой.

    Всего записей: 1569 | Зарегистр. 04-09-2015 | Отправлено: 14:15 30-01-2018 | Исправлено: alex52mail, 14:55 30-01-2018
    NIKZZZZ



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

    Цитата:
    Не могли бы подсказать где такая тема?

     
    Наверху страницы есть "Поиск", зайдите в него, и наберите "реестр windows"

    Всего записей: 5365 | Зарегистр. 08-02-2006 | Отправлено: 14:30 30-01-2018
    JekaRus

    Advanced Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    Возможно ли батником или vb скриптом отслеживать время блокировки рабочей станции? Нужно вычислить время работы ПК за минусов времени когда экран был заблокирован. На семерках можно включить в политике аудита фиксацию времени блокировки, но у нас много ПК которые работают на ХР.

    Всего записей: 1046 | Зарегистр. 10-08-2005 | Отправлено: 04:24 31-01-2018
       

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

    Компьютерный форум Ru.Board » Операционные системы » Microsoft Windows » Задачи на bat-файлах 12
    KLASS (06-03-2018 00:44): Объединение тем по сценариям: Сценарии Windows


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

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

    BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

    Рейтинг.ru