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

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

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    помогите  
    пишу  
    for /f "J: " %a in (*.*) do for %b in (%a) do for /f "tokens = 1,2,3,4,5 delims =. ;" %c in ('echo %~tb') do if %e%d%c lSS YYYYMMDD del %d  
     
    ищет только документы у которых в названии нет пробелов и в папках без пробелов, как заставить игнорировать пробелы?

    Всего записей: 10 | Зарегистр. 22-03-2009 | Отправлено: 21:49 23-03-2009
    ameelien



    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    помогите написать грамотно батник, а то упарился.. тупить 2 дня.
     
    Задача:
    В папке c:\FOLDER\
    есть подпапки \test1@fold\     \test2@fold\   \test3@fold\   \test4@fold\
    Есть в системе юзеры test1, test2, test3, test4
    Суть = Назначение ПРАВ на папки тому, чей логин виднеется в имени папки.
     
    Я что смог сделать:
     
    Это выводит все папки в директории
    for /f "usebackq" %%s in (`dir /B /A:D`) do ( echo %%s )
     
    Это вариант если папки = имя пользователя
    for /f "usebackq" %%i in (`dir /B /A:D`) do (echo Y|CACLS C:\FOLDER\%%i /T /G %%i:F /C)  
     
     
    Это решение по извлечению из имени папки - имени пользователя,
    тоесть на вводе test1@fold => на выводе получим то что до собачки test1
     
    for /f "usebackq tokens=1 delims=@" %%d in (`dir /B /A:D`) do (echo %%d )
     
     
     
    Вот куку нехватает это всё в кучу собрать...((((

    Всего записей: 135 | Зарегистр. 13-03-2008 | Отправлено: 22:13 23-03-2009
    king_stiven

    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    ju ja
    каждую строчку отлаживай по отдельности времени нет. пользуйся справкой

    Всего записей: 2232 | Зарегистр. 17-07-2006 | Отправлено: 22:24 23-03-2009 | Исправлено: king_stiven, 22:25 23-03-2009
    ju ja

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    я знаю что проблема в (*.*)
    вот это надо чем то заменить

    Всего записей: 10 | Зарегистр. 22-03-2009 | Отправлено: 22:44 23-03-2009
    Elroir



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

    Код:
     
    @echo off
    for /f "tokens=1,2 delims=@" %%a in ('dir /b /ad C:\FOLDER\*@*') do (
    echo Y|CACLS "C:\FOLDER\%%a@%%b" /T /G %%a:F /C
    )
     
     


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

    Всего записей: 2631 | Зарегистр. 05-02-2003 | Отправлено: 22:45 23-03-2009
    king_stiven

    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    ju ja  
    используй двойные кавычки
    там полно ошибок везде
     
    Добавлено:
    ju ja

    Код:
    for /R "c:\" %a in (*.*) do (
        for /f "tokens=1,2,3,4,5 delims=.,:, " %c in ("%~ta") do (
            echo %e%d%c  %a
            pause
                )
                )

     
    Добавлено:

    Код:
    cd/d c:\
    for %a in (*.*) do (
        for /f "tokens=1,2,3,4,5 delims=.,:, " %c in ("%~ta") do (
            echo %e%d%c  %a
            pause
                )
                )

    Всего записей: 2232 | Зарегистр. 17-07-2006 | Отправлено: 22:47 23-03-2009
    alexander6161



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

    Всего записей: 185 | Зарегистр. 17-08-2008 | Отправлено: 07:03 24-03-2009 | Исправлено: alexander6161, 07:04 24-03-2009
    Maza_Faka



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

    Цитата:
    изменить дату создания папки на текущую дату?

    C помощью утилиты nircmd.exe

    Код:
     
    nircmd.exe setfilefoldertime "c:\MyFolder" now now
     


    Всего записей: 1420 | Зарегистр. 25-10-2006 | Отправлено: 07:59 24-03-2009
    alexander6161



    BANNED
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Maza_Faka
    Спасибо. Слышал про неё, но ни разу не пользовался. Скачаю, изучу.

    Всего записей: 185 | Зарегистр. 17-08-2008 | Отправлено: 09:59 24-03-2009
    klimusu



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

    Всего записей: 931 | Зарегистр. 23-01-2006 | Отправлено: 10:57 24-03-2009
    triano

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Ситуация такая хочу автоматизировать подключение к ftp-серверу, т.е создаю батник.
    Но при авторизации он меня посылает, login и password incorrect.
    Хотя при коннекте с оконного ftp-клиента всё проходит нормально.
    Первые строки выглядят так:
     ftp -s:"c:\script.txt"
    в самом файле script.txt начальные строки
    open 10.10.10.10
    user yyyyyy
    password  bbbbb
     
    что неправильно в синтаксисе

    Всего записей: 21 | Зарегистр. 31-03-2008 | Отправлено: 11:21 24-03-2009
    king_stiven

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

    Цитата:
    Работа с текстом, датой, и файлами »  


    Всего записей: 2232 | Зарегистр. 17-07-2006 | Отправлено: 11:46 24-03-2009
    Mr_Hat



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    triano
    user и password убери вместо них только значения этих данных.

    Всего записей: 985 | Зарегистр. 04-10-2005 | Отправлено: 16:20 24-03-2009 | Исправлено: Mr_Hat, 16:41 24-03-2009
    ameelien



    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Elroir
     
    Код:
     
    @echo off
    for /f "tokens=1,2 delims=@" %%a in ('dir /b /ad C:\FOLDER\*@*') do (
    echo Y|CACLS "C:\FOLDER\%%a@%%b" /T /G %%a:F /C
    )
     
     
     
     
     
    МЕГА РЕСПЕКТ ЧЕЛ!
     
     
    как я был близок))) вот чуть чуть недокумекал))

    Всего записей: 135 | Зарегистр. 13-03-2008 | Отправлено: 20:24 24-03-2009
    lorents



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    как можно распечатать несколько картинок через командную строку?

    Всего записей: 3299 | Зарегистр. 30-12-2007 | Отправлено: 21:38 24-03-2009
    01MDM



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

    Цитата:
    как можно распечатать несколько картинок через командную строку?

    Не знаю каков будет конечный результат, но где-то так:

    Код:
     
    @echo off
    for %%i in (1.jpg 2.jpg 3.jpg) do mspaint /p %%i
     


    Всего записей: 2638 | Зарегистр. 13-02-2006 | Отправлено: 23:10 24-03-2009
    lorents



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    01MDM
    а можно с вызовам диалогового окна и печать была альбомная?
    и еще вопрос
    как можно распечатать PDF если не установлена программа для просмотра PDF?

    Всего записей: 3299 | Зарегистр. 30-12-2007 | Отправлено: 00:21 25-03-2009
    JasperST

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Вопрос такой. Как проверить в бат-файле, запущен ли определенный процесс?
     

    Всего записей: 4 | Зарегистр. 13-08-2008 | Отправлено: 11:16 25-03-2009 | Исправлено: JasperST, 11:17 25-03-2009
    alexander6161



    BANNED
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Не смог понять, как получить дату создания (именно создания, а не изменения) папки?
     
    for /f "usebackq delims=" %%I in ('"C:\temp"') do set A=%%~tI
    Эта команда получает дату/время изменения файла без секунд.
     
    Желательно получить дату/время создания папки с секундами, посмотрел справку к утилите nircmd - там вроде такой команды нет, можно только изменить время создания папки, а узнать его нельзя.
     
    Подскажите?

    Всего записей: 185 | Зарегистр. 17-08-2008 | Отправлено: 11:33 25-03-2009
    Maza_Faka



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

    Цитата:
    Как проверить в бат-файле, запущен ли определенный процесс?


    Код:
     
    @Echo Off
     
    Tasklist | Find /i "notepad.exe" && Echo Process is exist || Echo Process not exist
     

     
    Добавлено:
    alexander6161

    Цитата:
    как получить дату создания (именно создания, а не изменения) папки?

    vbscript устроит?

    Код:
     
    Path = "C:\Test"
     
    Set FSO = CreateObject("Scripting.FileSystemObject")
    Set Folder = FSO.GetFolder(Path)
     
    CreateDate = Folder.DateCreated
     
    WSH.Echo "Дата создания папки " & Path & " - " & CreateDate
     

    Всего записей: 1420 | Зарегистр. 25-10-2006 | Отправлено: 12:45 25-03-2009
       

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