Задать вопрос
Ответы пользователя по тегу cmd/bat
  • Как в NETGEAR Router EVG1500 (от Дом.ру) сделать автоматическую перезагрузку модема?

    @res2001
    Developer, ex-admin
    Встроенный виндовый телнет клиент не позволяет исполнять скрипты на удаленной стороне - только ручной ввод команд. Нужно использовать какой-либо сторонний клиент с этой возможностью.
    Но с точки зрения безопасности лучше использовать ssh, а не телнет, наверняка роутер поддерживает этот протокол. В комплекте с PuTTY (известный ssh клиент для windows) есть утилита командной строки, устанавливающая соединение и выполняющая сценарий на удаленной стороне. Кроме того PuTTY поддерживает разные протоколы, в т.ч. и телнет.
    Ответ написан
  • Как перенести ресурсы в папку с установленной программы?

    @res2001
    Developer, ex-admin
    Универсальное АПИ - поиск исполняемого файла программы по всем дискам.
    Начать сканирование стоит со сканирования стандартного каталога установки: %systemdrive%\program files\<имя программы>

    Но часто программы пишут в реестр какую-либо информацию при установке, часто встречается пишут туда и путь установки. Как правило путь в реестре задается жестко в коде программы. Если ваша программа что-то подобное делает, то можно определить ее положение читая соответствующий ключ из реестра.
    Бывает можно узнать место установки по другим косвенным признакам, например программа прописывается в переменную окружения PATH и т.п.
    Кроме того установщик Windows то же что-то пишет в реестр по каждой установленной программе, по крайней мере он точно сохраняет информацию о том как деинсталировать программу, погуглите где установщик хранит в реестре свои записи и там ищите деинсталятор, по нему определите путь установки.

    PS: и с тегами в как-то определитесь по лучше.
    Ответ написан
    Комментировать
  • Как изменить скриптом текстовый файл в винде?

    @res2001
    Developer, ex-admin
    Наиболее толковая и подробная документация это помощь по командам, как ни странно.
    Каждая команда имеет встроенную справку вызывается она с помощью ключа /?, даже for, if, set имеют такие справки, и сам cmd /?
    Можно простым скриптом сгенерировать текстовые файлы с описанием большинства команд:
    FOR /F "usebackq tokens=1 eol= skip=1 delims= " %%a IN (`help^|findstr /B /V /C:" "`) DO help %%a >>%%a.txt

    Так же на rsdn.ru есть статья "Уроки батаники", там очень не плохое введение в тему.
    На forum.ru-board.com и forum.script-coding.com хорошие ветки по теме, там тусят "крутые перцы" в ботанике.
    Ответ написан
    1 комментарий
  • Как проверить наличие службы и если её нет - запустить батник?

    @res2001
    Developer, ex-admin
    Из cmd проверить состояние службы можно с помощью sc и проанализировать ее вывод.
    Либо можно с помощью tasklist вывести список запущенных процессов и найти нужный, если его нет, то и служба не работает.
    Запустить любой процесс в качестве службы можно с помощью srvany и instrvs. Эти утилиты входят в состав Microsoft’s Windows Server 2003 Resource Kit. Вполне работали на Вин7, дальше не в курсе.
    Ответ написан
    Комментировать
  • Как вытащить запрос в Batch?

    @res2001
    Developer, ex-admin
    @echo off
    set "filesrc=1.txt"
    set "filedst=filedst.txt"
    for /f "usebackq tokens=1,2,* delims=@:" %%a in ("%filesrc%") do (
    	1>>"%filedst%" echo.%%~a	%%~b	%%~c
    )

    Правда не ясно зачем, изменить формат что ли?
    Ну тогда пишите какой должен быть формат.
    В цикле в переменных:
    %%~a - имя пользователя (часть почтового адреса)
    %%~b - домен почтового адреса
    %%~c - пароль
    Если в файле источнике будут служебные символы, то наверняка появятся ошибки.
    К служебным символам относятся: &<>)(^%
    Ответ написан
    Комментировать
  • Как создать командный файл, который удалит файлы из списка?

    @res2001
    Developer, ex-admin
    просто перечислите все файлы в команде del, например так:
    del /f /q file1.txt file2.txt pathdir\file*.txt
    Ответ написан
    Комментировать
  • Как через bat скрипт добавить задачу в scheduler на запуск браузера до момента логирования?

    @res2001
    Developer, ex-admin
    Настройте браузер в качестве оболочки пользователя (по умолчанию оболочкой является explorer.exe).

    PS: Логирование - это синоним журналирования.
    С трудом понял, что вы имеете ввиду.
    Ответ написан
    Комментировать
  • Как настроить задачу в планировшике?

    @res2001
    Developer, ex-admin
    Если этот механизм не работет, то напишите простейший батник, который вставите в задание.
    Батник делает следующее:
    1. проверяет наличие файла-флага (любой пустой файл, в любом доступном каталоге), если файл есть - задание уже выполняется, выходим.
    2. создание файла флага
    3. запуск parser.exe
    4. удаление файла-флага

    Минус в том, что возможны ситуации, когда задания нет, а файл-флаг останется не удаленным. В таких случаях придется удалять его в ручную ...

    Другой вариант: в батнике проверять наличие запущенного процесса parser.exe, если процесса нет, то запускать. Проверять процессы можно с помощью tasklist /?
    Ответ написан
    Комментировать
  • Как открыть файл whl?

    @res2001
    Developer, ex-admin
    Команда cd для перехода по папкам:
    cd /?
    Команда dir - покажет список файлов в текущей папке:
    dir /?

    На самом деле проще запустить питон и выдать в его консоли соответствующую команду, погуглите, как это сделать.
    Ответ написан
    Комментировать
  • Как запретить повторный выбор файлов bat?

    @res2001
    Developer, ex-admin
    В батнике создавайте временный файл-флаг, как-то так:
    echo.>file.flag
    В самом начале батника проверяйте есть ли этот файл, если файл есть то завершаете батник (предыдущий запуск еще не отработал), если файла нет - работаем дальше (и создаем этот файл). По окончании работы - удаляем файл- флаг.
    Другие варианты обнаружения запущенных копий того же батника:
    1.аналогично файл-флагу - флаг в реестре
    2.можно с помощью tasklist проверять запущен ли процесс с таким же батником.

    Побочные эффекты: если батник по какой-то причине не удалит файл-флаг, то следующий процесс никогда не запустится.
    Ответ написан
    8 комментариев
  • Состояние монитора в Windows?

    @res2001
    Developer, ex-admin
    Поэкспериментируйте с утилитой powercfg.
    Например, может быть подойдет powercfg /requests
    Ответ написан
    Комментировать
  • Как удалить все файлы и подпапки, кроме заданного файла с сохранением его пути (подпапок)?

    @res2001
    Developer, ex-admin
    @echo off
    set "pathdir=c:\script\test\del"
    set "filename=special-folder\file.php"
    for /f "tokens=* delims=" %%b in ('dir /a:-d /b /s "%pathdir%\*" 2^>nul ^| findstr /v /c:"%filename%" 2^>nul') do (
      del /q /f "%%~b" 2>nul
    )
    for /f "tokens=* delims=" %%a in ('dir /a:d /b /s "%pathdir%" 2^>nul') do (
      dir /a:-d /b /s "%%~a\*" 1>nul 2>&1 || rd /s /q "%%~a" 2>nul
    )

    Код сохраните в .bat файл, инициализируйте правильно переменные: pathdir и filename.
    И потренируйтесь на "кошечках".
    Ответ написан
    1 комментарий
  • Как записать текст в файл через bat без кавычек?

    @res2001
    Developer, ex-admin
    $cmd = "cmd /c echo '{$xml}' > 'C:\\file.xml'";

    Не ясно какие кавычки вы имеете ввиду.
    Если внутренние одиночные, то просто уберите их.
    Только одно, но большое но - в батниках символы < и > являются служебными и в итоговой команде:
    echo <InputSettings> <InputSetting> <Name>id_rk</Name>

    Они будут будут обработанными интерпретатором соответствующим образом и вы не получите на выходе эту строку.
    Мой совет - не обрабатывайте содержимое xml файлов батниками. Кроме вышеперечисленных символов в батниках являются служебными: & | % ! ^, а так же cmd не дружит с UTF-8.
    Ответ написан
    Комментировать
  • Как удалить программу из автозагрузки используя CMD/VBS?

    @res2001
    Developer, ex-admin
    Посмотрите справочник по объекту WScript.Shell, который вы и используете, там есть и удаление то же.
    Для батников можно использовать утилиту reg, см.:
    reg /?
    reg add /?
    reg delete /?
    Ответ написан
    Комментировать
  • Как в BAT файле добавить аргументы для поиска списком (каждый с новой строки), а не через пробел?

    @res2001
    Developer, ex-admin
    Смотрите в сторону параметров /f и /g для findstr
    Ответ написан
    Комментировать
  • Батник для архивирования файлов в папке(каждый файл в отдельный архив и с уникальным паролем)?

    @res2001
    Developer, ex-admin
    Пароль можно рандомно генерировать: %RANDOM%
    Правда генератор случайных чисел в cmd тот еще, по моему он просто берет время в секундах от запуска ОС и выдает его за случайное число. Но для ваших целей пойдет.
    Потом пароли можно складывать в файл вместе с именами зашифрованных файлов.
    @echo off
    setlocal enabledelayedexpansion
    for %%a in (*.txt) do (
    set "password=%RANDOM%"
    set "filename=%%~a"
    echo.password = !password! file = !filename!
    7z.exe a -t7z -p!password! "%%~dpna.7z" "%%~a"
    )
    Ответ написан
    2 комментария
  • Как подключиться к windows 7 telnet серверу с возможностью автоматического выплнения команд?

    @res2001
    Developer, ex-admin
    В качестве клиента лучше использовать не виндовый telnet-клиент, а что-нибудь другое, умеющее запускать команды из файла. Например PuTty умеет подключаться по телнету и в ее составе есть утилита командной строки, которая умеет выполнять команды из файла.
    Я сам удаленный запуск через телнет сценариев не пробовал, но по ssh прекрасно работает. Учтите, что запускаемый сценарий должен быть на стороне сервера, на сколько я помню. Ну и раз у вас много данных обрабатывается, то в сценарии сделайте вывод на экран по минимуму - все перенаправляйте в файлы или в nul.
    Ответ написан
    Комментировать
  • Как объединить txt файлы в один?

    @res2001
    Developer, ex-admin
    Возможно потому, что ваш output.txt так же попадает под маску *.txt и он добавляется сам в себя.
    Это предположение, но, по моему, похоже на правду. Для проверки просто используйте вместо output.txt тот же file.bin - он перестанет соответствовать маске и не будет сам в себя добавляться.

    Вообще ваша задача решается гораздо проще:
    copy *.txt file.bin
    Ответ написан
    4 комментария
  • Ошибка в синтаксисе команды при ппопытки переименовать файл?

    @res2001
    Developer, ex-admin
    Пути в которых есть пробелы нужно брать в кавычки.
    Ответ написан
    Комментировать