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

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

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

vu1tur (26-05-2009 11:39): часть 7 — http://forum.ru-board.com/topic.cgi?forum=62&topic=17154#1  Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 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

   

vu1tur



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

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

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





    http://forum.ru-board.com/topic.cgi?forum=62&topic=17154

  • Всего записей: 3690 | Зарегистр. 01-02-2003 | Отправлено: 23:07 04-11-2008 | Исправлено: vu1tur, 11:38 26-05-2009
    batniki



    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    01MDM,
    это был единственный,  нелепый попавшийся способ, найденный мной…
    netsh diag show os /v | findstr /i "installdate" — спасибо, конечно удобнее, но как сравнить полученную дату с текущей и проверить прошли ли указанные дни с момента установки?

    Всего записей: 50 | Зарегистр. 11-02-2008 | Отправлено: 16:13 25-11-2008
    ruslanx3m

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Как мне определить "startup folder" из bat-ника  ? я зделал так :
     
    for /f "tokens=2*" %%i in ('reg query "hkcu\software\microsoft\windows\currentversion\explorer\shell folders" /v ;Startup ^|find /i "startup"') do @set "startfolder=%%j"
    echo %startfolder%
     
    но проблема что он на руских winxp не выводит правельно путь ,типа  C:\Documents and Settings\ufikjed764\reggbshhjjgh\ggfdgbt     ,нужен универсальный батник который выводил правельно путь    
     и на рус и на eng (на всех виндовсах ) провельно путь ?!  Sorry если есть ошибки..
     

    Всего записей: 5 | Зарегистр. 25-11-2008 | Отправлено: 16:50 25-11-2008
    Nagual



    Full Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    ruslanx3m
    есть такая вещь, как кодировка
    для командных сценариев windows-NT обычно она OEM-866
    поэтому сохрани код в эту кодировку или используй в коде переопределение кодировки предшествующей  
    командой chcp 1251>nul, тогда код может быть написан в кодировке ANSI (windows-1251)
    тема изжевана просто донельзя

    Всего записей: 528 | Зарегистр. 06-01-2006 | Отправлено: 17:07 25-11-2008 | Исправлено: Nagual, 17:08 25-11-2008
    mouser

    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Добрый ...  
    как сделать что если папка сужествует то к ней прибавить _1, а если существует _1 сделать _2 и т.д.
     
    if exist %date% mkdir %date%_1
    if exist %date% mkdir %date%_2
    и т.д.
     
    УСЛОВИЕ: батник запускается каждый раз по новому

    Всего записей: 800 | Зарегистр. 10-11-2006 | Отправлено: 10:40 26-11-2008
    01MDM



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

    Код:
     
    @echo off
    if not exist %date% md %date% && goto:eof
    if not exist %date%_1 md %date%_1 && goto:eof
    for /f "tokens=2 delims=_" %%i in ('dir /b /ad %date%_*') do set num=%%i
    set /a num+=1
    md %date%_%num%
     

     
    Батник должен быть рядом с создаваемыми папками.

    Всего записей: 2638 | Зарегистр. 13-02-2006 | Отправлено: 10:52 26-11-2008 | Исправлено: 01MDM, 11:50 26-11-2008
    tdr1225



    Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    01MDM, mouser
    В приведенном выше коде - интересный эффект: насоздавали папки х_1, х_2, ... х_5. Если удалить х_2, в след. раз будет создана х_6. Если же удалить х_1, то в след. раз будет создана х_1, а уж затем х_6. Лишняя вторая проверка.
    И ошибочка: после х_10 ничего не создается.

    Всего записей: 281 | Зарегистр. 07-12-2005 | Отправлено: 12:23 26-11-2008
    mouser

    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    tdr1225
    01MDM
     
    хм... а в чём загвоздка того что он только до 10 считает ???

    Всего записей: 800 | Зарегистр. 10-11-2006 | Отправлено: 13:15 26-11-2008
    igor_andreev

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

    Цитата:
    В приведенном выше коде - интересный эффект: насоздавали папки х_1, х_2, ... х_5. Если удалить х_2, в след. раз будет создана х_6. Если же удалить х_1, то в след. раз будет создана х_1, а уж затем х_6. Лишняя вторая проверка.  
    И ошибочка: после х_10 ничего не создается.

    До тыщщи достаточно?

    Код:

    @ECHO OFF
     
    SET "DIR=%DATE%"
     
    :MAKE_DIR
    IF EXIST "%DIR%"\ (
      FOR /L %%A IN (1,1,1000) DO (
        IF NOT EXIST "%DIR%_%%A"\ (
          SET "DIR=%DIR%_%%A"
          GOTO MAKE_DIR
        )
      )
    )
     
    MD %DIR%

     
    А чтобы понять, почему в варианте 01MDM считает до десяти - уберите @echo off и запустите в консоли. Сортировочка-с...

    Всего записей: 1705 | Зарегистр. 08-12-2004 | Отправлено: 13:51 26-11-2008 | Исправлено: igor_andreev, 14:06 26-11-2008
    Freethinker23ert

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Добрый день
    Подскажите пожалуйста как написать bat файл, который бы удалял в определенной папке все файлы опеределенного расширения, у которых дата меньше текущей системной на неделю

    Всего записей: 2 | Зарегистр. 26-11-2008 | Отправлено: 21:39 26-11-2008
    king_stiven

    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Freethinker23ert
    А в шапку посмотреть?
    Работа с текстом, датой, и файлами » [?]

    Всего записей: 2229 | Зарегистр. 17-07-2006 | Отправлено: 21:51 26-11-2008
    Freethinker23ert

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

    Всего записей: 2 | Зарегистр. 26-11-2008 | Отправлено: 22:00 26-11-2008 | Исправлено: Freethinker23ert, 23:19 26-11-2008
    Nagual



    Full Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Freethinker23ert
    попробуй так
    Код:
    set s=C:\TEMP\opera
    set d=%temp%\%computername%
    if not exist
    "%d%" md "%d%"
    robocopy /purge /maxage:7 "%s%" "%d%"
    robocopy /purge "%d%" "%s%"
    rd/s/q "%d%"
     
    где C:\TEMP\opera — обрабатываемый каталог

    Всего записей: 528 | Зарегистр. 06-01-2006 | Отправлено: 00:30 27-11-2008
    king_stiven

    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Freethinker23ert
    http://forum.ru-board.com/topic.cgi?forum=62&topic=13556&start=320

    Всего записей: 2229 | Зарегистр. 17-07-2006 | Отправлено: 11:30 27-11-2008 | Исправлено: king_stiven, 13:56 27-11-2008
    leoadm



    Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    Возможно ли из командной сроки удалить папку в которй все файлы с атрибутом Системный и Скрытый. пробовал Команду attrib для смены атрибутов файлов, не помогает... и файлы не удаляются...

    Всего записей: 218 | Зарегистр. 06-09-2007 | Отправлено: 17:20 27-11-2008
    ipmanyak



    Platinum Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    leoadm Удаляем каталог 8 со скрытыми файлами на диске D:
    ECHO ON
    RD D:\8 /S
    paUSE
     
    P.S  
    команде RD плевать какие файлы внутри, удаляется сам каталог.


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

    Всего записей: 11743 | Зарегистр. 10-12-2003 | Отправлено: 18:30 27-11-2008 | Исправлено: ipmanyak, 18:31 27-11-2008
    vasiliy74



    Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    не могу скопировать файл %)
    Файл находится в директории вместе с батником.
     
    %windir%\system32\xcpoy.exe "dbyyw.dll" "%windir%\system32"

    Всего записей: 289 | Зарегистр. 21-02-2006 | Отправлено: 20:30 27-11-2008 | Исправлено: vasiliy74, 20:31 27-11-2008
    Elroir



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    vasiliy74
    Мы же не телепаты :-)
    Симптомы, пожалуйста.

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

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



    Platinum Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    vasiliy74
    а файлменеджером получается?

    Всего записей: 11354 | Зарегистр. 16-02-2005 | Отправлено: 22:55 27-11-2008
    vasiliy74



    Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    'xcpoy.exe' is not recognized as an internal or external command,
    operable program or batch file.
     
    странно но она там есть, там это в sysyem32
     
    Добавлено:
    поменял вот так  
    cd %windir%\system32\cpoy.exe "dbyyw.dll" "%windir%\system32"
    и теперь другая ошибка
    The filename, directory name, or volume label syntax is incorrect.
     
    где задача стоит как из директории откуда запускается батник-инсталятор копируется dll в system32

    Всего записей: 289 | Зарегистр. 21-02-2006 | Отправлено: 13:47 28-11-2008
    drug2k55

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Как-то я тут уже писал о своей проблеме, но внятного ответа так и не
    получил, похелпайте :). Вобщем проблема у меня следущего типа есть папка в ней лежат архивы 8 штук с именами типа archiv_03.01.2008.rar, archiv_10.01.2008.rar и т.д. таких 8 штук (раз в нед. делается архивация и архивы за последние 8 недель лежат).
    Так вот, как мне сделать так, нужен батник, чтобы в каталоге всегда были 8 архивов, т.е саме старые архивы при появлении новых удалялись(по дате).

    Всего записей: 4 | Зарегистр. 12-10-2008 | Отправлено: 14:30 28-11-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 100

    Компьютерный форум Ru.Board » Операционные системы » Microsoft Windows » Задачи на bat-файлах 6
    vu1tur (26-05-2009 11:39): часть 7 — http://forum.ru-board.com/topic.cgi?forum=62&topic=17154#1


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

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

    BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

    Рейтинг.ru