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

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

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

vu1tur (04-11-2008 23:07): Задачи на bat-файлах 6  Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 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

   

Nagual



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

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

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

  • Всего записей: 528 | Зарегистр. 06-01-2006 | Отправлено: 12:28 19-03-2008 | Исправлено: Nagual, 01:02 24-09-2008
    Joolz

    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Dantis
    Должно все работать. Попробуй Dantis@domain.ru
    mike345S
    Вместо /U и /P пользуй /RU и /RP.
     
    Добавлено:
    Lapochka ili Chai
    Что-то типа того.

    Код:
     for /f "delims=\(\) tokens=1,*" %%a in ('dir /b *.txt ^| findstr ".*(.*).*.txt"') do copy %%a(%%b %%a.txt /-Y && del %%a(%%b

    Но в данном случае по-любому удаляется исходный файл и переименовываются файлы с одной закрывающей скобкой типа abc(def(hij).txt

    Всего записей: 100 | Зарегистр. 24-01-2008 | Отправлено: 14:06 09-07-2008
    mike345S



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

    Цитата:
    Вместо /U и /P пользуй /RU и /RP.

    Тоже самое. Не работает
     
    schtasks /create /S comp /RU admin /RP password /SC onstart /TN upg /TR c:\_upd\upd.cmd
    ПРЕДУПРЕЖДЕНИЕ. Запланированная задача "upg" была создана, однако не может выполняться, так как не удалось задать сведения об учетной записи.

    Всего записей: 550 | Зарегистр. 31-01-2006 | Отправлено: 15:52 09-07-2008
    Joolz

    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    mike345S
    Такое предупреждение появляется только при несовпадении имени пользователя/пароля.

    Всего записей: 100 | Зарегистр. 24-01-2008 | Отправлено: 16:12 09-07-2008
    Cheerful_a_bear



    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Помогите, не работает такой код.
    Спору нет изощряюсь, но не могу добиться желаемого.
     
    xcopy/v /y "f:\Папка\файл.bat"  "F:\Другая папка\"
    start F:\Другая папка\файл.bat
    del/q/f/s "F:\Другая папка\файл.bat"
     
    В программе с таким кодом не получилось указать конкретное место для выполнения.
    То есть менял 'dir /b *.*' и на "dir F:\Другая папка\ /b *.*"  и так "dir F:\Другая папка\*.* /b "
     
    @echo off
    setlocal enabledelayedexpansion
    set N=10
     
    call :raschet %date% days_to_today
     
     
    for /f "tokens=*" %%a in ('dir /b *.*') do (
       set filedate=%%~ta
       call :raschet !filedate:~0,10! days_to_date_of_file
       set /a raznitsa=%days_to_today%-!days_to_date_of_file!
       if !raznitsa! gtr %N% echo del /q "%%a"
    )
    goto :eof
     
    :raschet
    for /f "delims=. tokens=1-3" %%a in ('echo %~1') do (
     
       set /a years=%%c*365+%%c/4
       set /a prev_year=%%c-1
       set /a result_year=%%c/4
       set /a result_prev_year=!prev_year!/4
       set /a vis=!result_year!-!result_prev_year!
       if !vis!==1 (
          if %%b==01 set /a years=!years!-1
          if %%b==02 set /a years=!years!-1
       )
     
       if %%b==01 set months=0
       if %%b==02 set months=31
       if %%b==03 set months=59
       if %%b==04 set months=90
       if %%b==05 set months=120
       if %%b==06 set months=151
       if %%b==07 set months=181
       if %%b==08 set months=212
       if %%b==09 set months=243
       if %%b==10 set months=273
       if %%b==11 set months=304
       if %%b==12 set months=334
     
       set days=%%a
       set firstsym=!days:~0,1!
       if !firstsym!==0 set days=!days:~1,1!
     
       set /a %~2=!years!+!months!+!days!

    Всего записей: 103 | Зарегистр. 30-04-2008 | Отправлено: 17:01 09-07-2008
    mike345S



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

    Цитата:
    Такое предупреждение появляется только при несовпадении имени пользователя/пароля.

    локально все хавает, а удаленно - нет.
    Из одного и того же bat файла...

    Всего записей: 550 | Зарегистр. 31-01-2006 | Отправлено: 18:47 09-07-2008
    Dantis

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

    Всего записей: 26 | Зарегистр. 25-03-2008 | Отправлено: 20:28 09-07-2008
    Elroir



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

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

    Перед строчкой первого for-а, поставь следующую команду:

    Код:
     
    pushd "F:\Другая папка\"
     

    а перед строчкой с "goto :EOF":

    Код:
     
    popd
     



    ----------
    "В интернете есть все, но не всегда"

    Всего записей: 2631 | Зарегистр. 05-02-2003 | Отправлено: 21:27 09-07-2008
    Cheerful_a_bear



    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Прошу прощения за тупость.
    но не понимаю что не так  
    вот код  
    Подробнее...
    однако как только скачаю с этого сайта копипастом и удалю пробелы, как указано в топике, поначалу код работает, а потом просто отказывается, прокручивается и ни сообщений, ни результатов,
    В Чем проблема?
     
    Добавлено:
    Буква  "ф" случайная, ее нет

    Всего записей: 103 | Зарегистр. 30-04-2008 | Отправлено: 23:18 09-07-2008
    Dantis

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Народ хелп... Какими другими способами  можно заставить  комп перезапускаться каждые 24 часа????  (можно даже сторонней программой)

    Всего записей: 26 | Зарегистр. 25-03-2008 | Отправлено: 23:38 09-07-2008
    01MDM



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

    Цитата:
     
    goto :eofф  
    echo PopD  
     

     
    Исправь на:

    Код:
     
    popd
    goto:eof
     

     
    И убери echo от pushd

    Всего записей: 2638 | Зарегистр. 13-02-2006 | Отправлено: 23:59 09-07-2008 | Исправлено: 01MDM, 00:05 10-07-2008
    Joolz

    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Dantis
    ИЗ встроенных можно попробовать еще и AT /?, но у него функционал похуже.

    Всего записей: 100 | Зарегистр. 24-01-2008 | Отправлено: 09:31 10-07-2008
    Cheerful_a_bear



    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    01MDM
    Спасибо за свежую идею, работает.
    теперь вот в чем дело, из батника передал управление, но он назад возврвщвть не желает, оставляя активным запущенный bat? как вернуться назад в первый батник.
     
    Echo Перенос файла в папку с архивами, для уданения с помощью него устаревших архивов
    start f:\BAT\remfile7day.bat
     
    Простите за навязчивость, я потерял файл с описанием всех команд дос, он в виде справки, где его взять?

    Всего записей: 103 | Зарегистр. 30-04-2008 | Отправлено: 11:19 10-07-2008
    vu1tur



    Moderator-Saaber
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    Cheerful_a_bear
    call f:\bat\remfile7day.bat

    ----------
    I am free of all prejudice. I hate everyone equally.

    Всего записей: 3690 | Зарегистр. 01-02-2003 | Отправлено: 11:27 10-07-2008
    Elroir



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

    Цитата:
    Перенос файла в папку с архивами, для уданения с помощью него устаревших архивов

    Зачем тебе переносить батник в папку с архивами, когда он сам (командой pushd) переходит в нее?
    P.S. Если очень хочется переносить, тогда используй вместо start, команду call
     

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

    Шапка->"Готовые решения и частые вопросы"

    ----------
    "В интернете есть все, но не всегда"

    Всего записей: 2631 | Зарегистр. 05-02-2003 | Отправлено: 11:30 10-07-2008
    Pacho



    Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    В Windows Vista надо выполнить bat-ник с командой

    Цитата:
    fsutil hardlink create <новый файл> <существующий файл>

    Но система говорит, что, типа, файл fsutil надо запускать с правами администратора. Как это сделать через bat-файл?
    Ещё нужно определить тип файловой системы (FAT, NTFS) и в зависимости от типа выполнить соотвествующую команду.

    ----------
    Нет судьбы, кроме той, которую мы выбираем.

    Всего записей: 263 | Зарегистр. 02-04-2005 | Отправлено: 22:33 10-07-2008 | Исправлено: Pacho, 20:27 11-07-2008
    Valdon



    Full Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Кто подскажет как скрыть выполнение отдельной команды(команд) (не bat'ника) ?
     
    Пробовал так:
    Код:
    CMD /C (cmdow @ /HID)&&(PushD %TEMP%&&RD /s /q .&PopD)
    - но смдешное окошко серавно мелькает
     
    Мот кто подскажет альтернативные варианты?

    Всего записей: 428 | Зарегистр. 25-07-2005 | Отправлено: 21:26 11-07-2008
    igor_andreev

    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Valdon
    nircmd.exe execmd PushD %TEMP%&&RD /s /q .&PopD

    Всего записей: 1704 | Зарегистр. 08-12-2004 | Отправлено: 21:55 11-07-2008
    max200701

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

    Код:
    @echo off
    rasdial "MEGAFON"

    привет всем ,вот есть такой простой батник,как сделать чтобы его виполнение было не видимым или хотябы свёрнутым
    то что написано выше не работает

    Всего записей: 65 | Зарегистр. 27-02-2008 | Отправлено: 13:20 12-07-2008 | Исправлено: max200701, 13:23 12-07-2008
    vu1tur



    Moderator-Saaber
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    max200701
    cmdow - изменение параметров и видимости дос-окна

    ----------
    I am free of all prejudice. I hate everyone equally.

    Всего записей: 3690 | Зарегистр. 01-02-2003 | Отправлено: 13:35 12-07-2008
    max200701

    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    vu1tur
    тебе конечно спасибо за помощ ,но мне єто не скоко не помогло поскоку английский язык для меня очень далёк как и написание батников,так что если вас не затруднит то можна уже готовый батник

    Всего записей: 65 | Зарегистр. 27-02-2008 | Отправлено: 14:04 12-07-2008 | Исправлено: max200701, 14:06 12-07-2008
       

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

    Компьютерный форум Ru.Board » Операционные системы » Microsoft Windows » Задачи на bat-файлах 5
    vu1tur (04-11-2008 23:07): Задачи на bat-файлах 6


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

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

    BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

    Рейтинг.ru