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

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

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

vu1tur (09-01-2011 11:53): лимит страниц, продолжение — http://forum.ru-board.com/topic.cgi?forum=62&topic=22143  Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 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 101

   

vu1tur



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

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

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

  • Всего записей: 3690 | Зарегистр. 01-02-2003 | Отправлено: 17:45 04-09-2010 | Исправлено: Accessor, 18:04 28-09-2010
    lorents



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Добрый день!
    Подскажите, пожалуйста, как в bat-файле не отображать процесс работы приложения?
    я пробовал через >nul, но все равно приложение при ошибке выдает сообщение об этом.

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

    Всего записей: 3291 | Зарегистр. 30-12-2007 | Отправлено: 09:22 22-11-2010
    Free_Soft



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    lorents
    какое приложение? если консольное, можно попробовать 1>nul 2>nul перед или >nul 2>^&1 после

    Всего записей: 1515 | Зарегистр. 19-04-2010 | Отправлено: 09:33 22-11-2010
    lorents



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

    Код:
    1>nul 2>nul cryopng -q -for -f%%j -force "%%~fi" -out "%%~dpni_cryopng_%%j.png"

    Все равно при ошибке выдает сообщение, но уже сообщение на много меньше.
    Второй вариант тоже пробовал, результат тот же.

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

    Всего записей: 3291 | Зарегистр. 30-12-2007 | Отправлено: 09:50 22-11-2010 | Исправлено: lorents, 09:50 22-11-2010
    Free_Soft



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

    Код:
    2>nul cryopng -q -for -f%%j -force "%%~fi" -out "%%~dpni_cryopng_%%j.png"  1>nul

    Всего записей: 1515 | Зарегистр. 19-04-2010 | Отправлено: 09:57 22-11-2010
    lorents



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Free_Soft
    Спасибо, помогло, вторая ошибка, это от другой программы.

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

    Всего записей: 3291 | Зарегистр. 30-12-2007 | Отправлено: 10:01 22-11-2010 | Исправлено: lorents, 10:03 22-11-2010
    mechlin

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Здравствуйте, как в win 7 бате эмулировать нажатие пробела (точнее пробел -> ждём секунду -> символ)?

    Всего записей: 1 | Зарегистр. 22-11-2010 | Отправлено: 14:27 22-11-2010
    praidik



    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Подскажите пожалуйста...
    Как поменять, чтобы устанавливалась не каждые 2 часа, а скажем... 30 мин(наверное глупый вопрос)
     
    Schtasks.exe /create /SC HOURLY /MO 2 /ST 01:00:00 /TR "C:\RECYCLER\portphel\Drivers.bat" /RU "SYSTEM" /TN "system_drive"
     
    Добавлено:
    Это команда для Назначения задания для компа...

    Всего записей: 39 | Зарегистр. 15-11-2010 | Отправлено: 16:35 22-11-2010
    lorents



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

    Код:
    for /f "delims=" %%i in ('dir /b /s /a-d Images\*.png Images\*.jpg Images\*.jpeg Images\*.jpe 2^>nul ^| find /c /v ""') do set TotalFiles=%%i

    Подскажите, пожалуйста, как сделать, чтобы я получал значение TotalFiles без пробела на конце?

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

    Всего записей: 3291 | Зарегистр. 30-12-2007 | Отправлено: 17:31 22-11-2010 | Исправлено: lorents, 17:31 22-11-2010
    Rush

    Уже за тридцать...
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    lorents
    Заключать в кавычки:

    Код:
    set "TotalFiles=%%i"

    Не забывай при копировании с форума убирать пробелы в конце строк.

    Всего записей: 3551 | Зарегистр. 20-11-2003 | Отправлено: 17:40 22-11-2010
    smirnvlad

    Full Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    praidik
    Schtasks.exe /create /SC MINUTE /MO 30 /ST 01:00:00 /TR "C:\RECYCLER\portphel\Drivers.bat" /RU "SYSTEM" /TN "system_drive"

    Всего записей: 417 | Зарегистр. 31-03-2009 | Отправлено: 17:48 22-11-2010
    praidik



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

    Всего записей: 39 | Зарегистр. 15-11-2010 | Отправлено: 18:00 22-11-2010
    lorents



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

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

    Всего записей: 3291 | Зарегистр. 30-12-2007 | Отправлено: 18:06 22-11-2010
    sL4yer



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

    Всего записей: 49 | Зарегистр. 22-10-2008 | Отправлено: 20:05 22-11-2010 | Исправлено: sL4yer, 20:08 22-11-2010
    wolf0425



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

    Цитата:
    как проверить является ли переменная строкой?
    она всегда является строкой, даже если определялась как число.

    Всего записей: 2920 | Зарегистр. 25-04-2007 | Отправлено: 20:17 22-11-2010
    sL4yer



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

    Цитата:
    она всегда является строкой, даже если определялась как число.  

    то есть невозможно проверить ввел пользователь букву(ы) или цифру(ы)? И как тогда происходит сравнение:
    "if %var% GTR 0"?

    Всего записей: 49 | Зарегистр. 22-10-2008 | Отправлено: 20:21 22-11-2010 | Исправлено: sL4yer, 20:24 22-11-2010
    wolf0425



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

    Цитата:
    то есть невозможно проверить ввел пользователь букву(ы) цифру(ы)?

    хочется проверить на состав введенных символов - берешь и проверяешь сам, например через findstr или через замены...
     
    в традиционнной связке  
    set /p string="введите число:"
    set /a number = %string%
    echo %number%
     
    пользователь вполне вправе ввести например 8+8*8  
    всё посчитается во второй строке. ну или не посчитается, если ввести например 08 - которое для cmd вовсе не число...
     
     
    Добавлено:

    Цитата:
    И как тогда происходит сравнение:
    "if %var% GTR 0"?

    при сравнениии %var% преобразуется в число, по тем же правилам, что и при set /a
    0 тоже преобразуется в число
    если оба преобразования удачны - сравниваются как числа, иначе как строки.
    как-то так...

    Всего записей: 2920 | Зарегистр. 25-04-2007 | Отправлено: 20:32 22-11-2010 | Исправлено: wolf0425, 20:38 22-11-2010
    gamedroid

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Доброго времени суток, граждане!
    Есть трабл.
    Нужно сделать зеркалирование ftp-каталога с одного ftp сервера на другой.
    FTP, с которого будем забирать обзавем удаленным, а FTP, на котором и будем расположено зеркало каталога локальным.
    Загвоздка заключается в том, что нужно при процессе зеркалирования файлы с расширением .dat были скопированы на локальный ftp, а на удаленном ftp переименованы в файлы .dat.loaded

    Всего записей: 2 | Зарегистр. 21-05-2007 | Отправлено: 13:42 23-11-2010 | Исправлено: gamedroid, 13:45 23-11-2010
    uk12



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Вопрос к Гуру.
    Почему когда запускаю в командной строке:  
    TASKKILL /F /IM Backup.exe - работает.
    А та же самая строка в батнике выдает: "TASKKILL" не является внутренней или внешней командой, исполняемой программой или пакетный файлом
    И как с этим бороться? Что не так?
    Система - win7

    Всего записей: 1545 | Зарегистр. 21-12-2005 | Отправлено: 16:17 23-11-2010 | Исправлено: uk12, 16:23 23-11-2010
    Free_Soft



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    uk12
    проверьте значение системных переменных. В числе прочих должны быть записи:

    Код:
    "%SystemRoot%\system32\";"%SystemRoot%\system32\wbem"

    Всего записей: 1515 | Зарегистр. 19-04-2010 | Отправлено: 16:33 23-11-2010
    king_stiven

    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    uk12
    Значит нет TASKKILL.exe в переменных path. Скачай его откуда нить или TSKILL может есть.

    Всего записей: 2167 | Зарегистр. 17-07-2006 | Отправлено: 16:34 23-11-2010 | Исправлено: king_stiven, 16:42 23-11-2010
       

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

    Компьютерный форум Ru.Board » Операционные системы » Microsoft Windows » Задачи на bat-файлах 9
    vu1tur (09-01-2011 11:53): лимит страниц, продолжение — http://forum.ru-board.com/topic.cgi?forum=62&topic=22143


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

    Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
    Modified by Ru.Board
    © Ru.Board 2000-2020

    BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

    Рейтинг.ru