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

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



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Linksach, можно удалением всех " ;" в имени папки.  

    Код:
    @echo off
    setlocal enabledelayedexpansion
    for /d %%i in (*) do (
    set "x=%%~i"
    ren "!x!" "!x: ;=!"
    )
    pause

    Всего записей: 1201 | Зарегистр. 26-03-2011 | Отправлено: 20:11 19-09-2016 | Исправлено: Sphinx114, 20:11 19-09-2016
    Linksach



    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Sphinx114
     
    а если вид папки приобрёл такой вид ---hideallipsetup ; --- - -
    Как поудалять всё лишнее чтоб была просто папка
     
    Интересует больше как убрать 3 пробела те что спереди названия

    Всего записей: 113 | Зарегистр. 11-07-2015 | Отправлено: 20:15 19-09-2016 | Исправлено: Linksach, 20:34 19-09-2016
    Sphinx114



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Linksach, можно только удалить все дефисы такой заменой:
    ren "!x!" "!x:-=!"
    Сделать замену так, как ты хочешь, на cmd будет громоздко, для этого лучше использовать sed. Тут где-то выкладывали однофайловый sed.exe, но по синтаксису не помогу.

    Всего записей: 1201 | Зарегистр. 26-03-2011 | Отправлено: 20:33 19-09-2016
    Linksach



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

    Цитата:
    ren "!x!" "!x:-=!"

     
    Всё нормально убралось без проблем(все дефисы) через bat.Спасибо!
     
     
    Добавлено:
    Ещё раз спрошу.А как в этом названии папки hideallipportable поставить пробел или такой символ _ между hideallip и portable с помощью bat.Возможно такое действие и для других папок с похожими названиями типа netsetmansetup421(netsetman и setup421)

    Всего записей: 113 | Зарегистр. 11-07-2015 | Отправлено: 20:39 19-09-2016 | Исправлено: Linksach, 21:22 19-09-2016
    Sphinx114



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Linksach, переименовывать каждое название отдельно. Можешь поизвращаться с заменами типа:
    ren "!x!" "!x:до=после!"

    Всего записей: 1201 | Зарегистр. 26-03-2011 | Отправлено: 22:39 19-09-2016
    lorents



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Добрый день!
    Как можно средствами cmd (можно средствами VBS) узнать, есть доступ cmd к интернету или нет (желательно мгновенно)?
    Благодарю за ответы!

    ----------
    Image Catalyst - оптимизация изображений без потери качества

    Всего записей: 3297 | Зарегистр. 30-12-2007 | Отправлено: 19:21 20-09-2016
    GCRaistlin



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    lorents
    Смотря что вы подразумеваете под доступом к Интернету. Можно, например, так:

    Код:
     
    set IP=<isp_def_gw_addr>
    for /f "skip=3 tokens=2,3,4" %%H in ('tracert -h 1 %IP%') do (
      if %%H == * if %%I == * if %%J == * echo No Internet access
    )
     

    где <isp_def_gw_addr> - адрес основного шлюза соединения, которым вы соединены с провайдером.

    ----------
    Magically yours
    Raistlin

    Всего записей: 3960 | Зарегистр. 18-04-2005 | Отправлено: 20:44 20-09-2016
    lorents



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    GCRaistlin
    Мне необходимо загрузить определенный файл через cmd (тут проблем нет). Но перед этим я должен знать есть доступ к интернету у меня или нет.
     
    Pasha_ZZZ
    Благодарю!

    ----------
    Image Catalyst - оптимизация изображений без потери качества

    Всего записей: 3297 | Зарегистр. 30-12-2007 | Отправлено: 22:01 20-09-2016 | Исправлено: lorents, 22:59 21-09-2016
    Linksach



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

    Всего записей: 113 | Зарегистр. 11-07-2015 | Отправлено: 13:21 21-09-2016 | Исправлено: Linksach, 13:23 21-09-2016
    Pasha_ZZZ



    Platinum Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    lorents
    Можно например так:
    Цитата:
    nslookup www.ya.ru 8.8.8.8|find /i "addresses:"
    if errorlevel 1 ........инета нет

     
    Linksach
    Практически любой файлменеджер, + на цифровой клаве, *.mht

    Всего записей: 12360 | Зарегистр. 11-03-2002 | Отправлено: 13:41 21-09-2016
    Linksach



    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Pasha_ZZZ
     
    Я через total commander  пробовал.А через бат нельзя реализовать такое дело

    Всего записей: 113 | Зарегистр. 11-07-2015 | Отправлено: 13:59 21-09-2016
    Pasha_ZZZ



    Platinum Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    Linksach
    Даже не вижу смысла "выделять". Перенести можно, скопировать можно. А больше ничего и не должно быть нужно

    Всего записей: 12360 | Зарегистр. 11-03-2002 | Отправлено: 14:36 21-09-2016
    Nikoderiko

    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Вопрос такой: есть папка. В ней куча подпапок. В каждой из них файлы.
    Нужно добавить перед имением каждого файла имя папки в которой он содержится.
    Например:
    C:/Folder1/Folder2/Text.doc
    Переименовать в  
    C:/Folder1/Folder2/Folder2Text.doc
     
    Как это сделать?

     
    YuS_two. спасибо. проблема решена.

    Всего записей: 808 | Зарегистр. 17-07-2002 | Отправлено: 04:03 22-09-2016 | Исправлено: Nikoderiko, 10:26 22-09-2016
    Linksach



    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Pasha_ZZZ
     
    А я вижу смысл.У меня очень длинные пути к нужным каталогам и папкам и файловый менеджер не может перенести файлы.Выделяет их-это да а перенести не может,поэтому нужен позарез батник чтоб можно было работать не с файлового менеджера а напрямую с нужной папки.Батник выделения файлов и всё!или всё так сложно в написании

    Всего записей: 113 | Зарегистр. 11-07-2015 | Отправлено: 07:58 22-09-2016 | Исправлено: Linksach, 08:00 22-09-2016
    YuS_two



    Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Nikoderiko  22-09-2016

    Цитата:
    Как это сделать?


    Код:
    @echo off
    for /d %%i in (*) do call :met "%%i"
    pause&exit
    :met
    for /r "%~1" %%k in (*) do echo "%%k" "%~1_%%~nxk"
    exit /b

    вместо "echo" (в цикле for) вписать "ren" после визуального просмотра результата работы сценария, т.е. будут выведены имена файлов с абсолютным путём и то, во что они будут переименованы в итоге.
    Скрытые и системные - не обрабатываются.
     
    Добавлено:
    Linksach  22-09-2016

    Цитата:
    Батник выделения файлов и всё!

    батник может обрабатывать файлы (удалять, переименовывать, записывать в переменные, выводить имена в текст и т.п.), но выделять... это вряд ли. Выделение - прерогатива файловых менеджеров.  
    А что у Вас, TC не может работать с длинными путями? Обновите его и попробуйте ещё раз. Если не получится, то в соответствующей теме задайте вопрос.

    Всего записей: 399 | Зарегистр. 28-03-2016 | Отправлено: 08:01 22-09-2016 | Исправлено: YuS_two, 08:10 22-09-2016
    Pasha_ZZZ



    Platinum Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    Linksach
    Во-первых, батники умеют работать с "очень длинными путями". Не всегда напрямую, но умеют.
    Во-вторых, как уже сказали, обновить ТС. Ну или использовать ФАР, он точно работает с путями максимально возможной длины (ТС не пользуюсь, не проверял).

    Всего записей: 12360 | Зарегистр. 11-03-2002 | Отправлено: 09:39 22-09-2016
    ipmanyak



    Platinum Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Linksach Копирование файлов:
    copy "C:\ПАПКА\*.MHT"   D:\ПАПКА\КУДА\
    если нужно именно перемещение, то вместо  copy используй команду move  
    справка  о команде MOVE /?
    P.S.
    Путь  можно косвенно уменьшить.
     Делаешь шару на каталог в середине путей и цепляешь шару как букву диска - всё, и идешь на этот диск -   Путь к файлам стал меньше !  
    Второй вариант  без шары -  команда SUBSTR /?  тоже на каталог посредине или ближе к концу и назначить букву диска.


    ----------
    В сортире лучше быть юзером, чем админом...

    Всего записей: 11718 | Зарегистр. 10-12-2003 | Отправлено: 10:02 22-09-2016 | Исправлено: ipmanyak, 10:07 22-09-2016
    Jon_Dow

    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    ipmanyak
    Цитата:
    SUBSTR /?
    увлекся
    вместо
    Код:
    SUBST /?


    ----------
    Я такую личшную нэприязнь испитываю к яндексгуглкасперский, что кушать не могу.:abuse: @Billon

    Всего записей: 732 | Зарегистр. 25-11-2006 | Отправлено: 11:00 22-09-2016
    ipmanyak



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


    ----------
    В сортире лучше быть юзером, чем админом...

    Всего записей: 11718 | Зарегистр. 10-12-2003 | Отправлено: 11:24 22-09-2016
    GCRaistlin



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

    Цитата:
    Мне необходимо загрузить определенный файл через cmd (тут проблем нет). Но перед этим я должен знать есть доступ к интернету у меня или нет.

    Вас интересует доступность файла по конкретной ссылке. Вот и пытайтесь его загрузить и обрабатывайте код возврата.

    ----------
    Magically yours
    Raistlin

    Всего записей: 3960 | Зарегистр. 18-04-2005 | Отправлено: 15:30 22-09-2016 | Исправлено: GCRaistlin, 15:31 22-09-2016
       

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