Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

RFpro.ru: Командная строка в Windows (MS-DOS)


Хостинг портала RFpro.ru:
Московский хостер
Профессиональный платный хостинг на базе Windows 2008

РАССЫЛКИ ПОРТАЛА RFPRO.RU

Чемпионы рейтинга экспертов в этой рассылке

Kom906
Статус: 5-й класс
Рейтинг: 990
∙ повысить рейтинг >>
F®ost
Статус: Бакалавр
Рейтинг: 852
∙ повысить рейтинг >>
Алексеев Владимир
Статус: Студент
Рейтинг: 713
∙ повысить рейтинг >>

∙ / КОМПЬЮТЕРЫ И ПО / Установка и настройка ОС / Командная строка в Windows (MS-DOS)

Выпуск № 129 от 22.07.2009, 12:05
Администратор рассылки: Калашников О.А., Руководитель
В рассылке: подписчиков - 445, экспертов - 198
В номере: вопросов - 1, ответов - 2

Нам очень важно Ваше мнение об этом выпуске рассылки. Вы можете оценить этот выпуск по пятибалльной шкале, пройдя по ссылке:
оценить выпуск >>

Вопрос № 170505: Здравствуйте уважаемые эксперты! Скажите пожалуйста, есть ли возможность в bat файле из переменной %date% получить строку вида мм-дд-гггг? Или какая либо команда для копирования только файлов которые были изменены сегодня???...



Вопрос № 170505:

Здравствуйте уважаемые эксперты! Скажите пожалуйста, есть ли возможность в bat файле из переменной %date% получить строку вида мм-дд-гггг? Или какая либо команда для копирования только файлов которые были изменены сегодня???

Отправлен: 17.07.2009, 11:37
Вопрос задал: PaTiFoN, Посетитель
Всего ответов: 2
Страница вопроса >>


Отвечает Megaloman, Практикант :
Здравствуйте, PaTiFoN.
Вот пример bat-файла, который из переменной %date% формата дд-мм-гггг выделяет отдельно в соответствующие переменные дд мм гггг
Далее их можно использовать в команде xcopy для копирования только сегодняшних файлов

set DD=%date:~0,2%
set MM=%date:~3,2%
set YYYY=%date:~6,4%

xcopy *.* e:\Ask\ /D:%MM%-%DD%-%YYYY%

Или, то же самое в одну строчку

xcopy *.* e:\Ask\ /D:%date:~3,2%-%date:~0,2%-%date:~6,4%

Если формат даты в системе будет изменён, соответственно придётся изменять и bat - файл

Для подробной информации используйте
CMD /?
Set /?
xcopy /?



Редактирование ответа - исправлена опечатка.
-----
∙ Отредактировал: lupus campestris, Модератор
∙ Дата редактирования: 17.07.2009, 14:17 (время московское)

-----
Нет времени на медленные танцы

Ответ отправил: Megaloman, Практикант
Ответ отправлен: 17.07.2009, 13:42

Оценка ответа: 5
Комментарий к оценке:
Спасибо. То что надо!!!

Как сказать этому эксперту "спасибо"?
  • Отправить SMS #thank 252264 на номер 1151 (Россия) | Еще номера >>
  • Отправить WebMoney:
  • Вам помогли? Пожалуйста, поблагодарите эксперта за это!
    Отвечает Алексеев Владимир, Студент :
    Здравствуйте, PaTiFoN.
    Если Вы будете выделять значения дня и месяца как под-строки системной переменной %data%, то Ваша программа не будет правильно работать в других учётных записях и машинах, где формат отображения даты (в ПанельУправления \ ЯзыкИРегиоСтандарты \ РегиональныеПараметры \ Настройка \Дата \КраткийФормат) задан иначе, чем в учётной записи, в которой Вы создали эту программу.
    Чтоб избавиться от указанного ограничения удобнее применить перенаправление команд типа For-Dir-Xcopy. Команда Dir выявляет файлы (/a-d =без папок) в указанной Вами папке-источнике %Sours% и её под-папках (ключ /s).
    Find "%dat%" получает поток с данными времени модификации файлов (%%~tf) и отбирает сегодняшние (в переменную %dat% занесено значение из %date%-вычислителя, чтоб не вычислять его много раз).
    Xcopy /d /y копирует только обновлённые файлы и без лишних запросов подтверждения. Ключ /q запрещает отображение имени уже скопированного файла, так как для длител ьного копи-процесса удобнее отображать имя объекта до начала копирования с помощью команды Echo.
    Веб-форма портала при ответах на вопросы иногда разрывает слова пробелами. Поэтому, чтоб передать Вам неиспорченную отлаженную программу я упаковал её в прикреплённый файл. В тексте программы Вы увидите подробные комментарии. Чтоб не запускать, а обозреть-редактировать программу из контекста cmd-файла выберите команду Изменить.
    Удачи Вам. Прикрепленный файл: загрузить >>

    -----
    Жизнь - это творчество!

    Ответ отправил: Алексеев Владимир, Студент
    Ответ отправлен: 22.07.2009, 05:37

    Оценка ответа: 5
    Комментарий к оценке:
    Спасибо!!!

    Как сказать этому эксперту "спасибо"?
  • Отправить SMS #thank 252460 на номер 1151 (Россия) | Еще номера >>
  • Отправить WebMoney:
  • Вам помогли? Пожалуйста, поблагодарите эксперта за это!


    Нам очень важно Ваше мнение об этом выпуске рассылки. Вы можете оценить этот выпуск по пятибалльной шкале, пройдя по ссылке:
    оценить выпуск >>

    подать вопрос экспертам этой рассылки >>

    Скажите "спасибо" эксперту, который помог Вам!

    Отправьте СМС-сообщение с тестом #thank НОМЕР_ОТВЕТА
    на короткий номер 1151 (Россия)

    Номер ответа и конкретный текст СМС указан внизу каждого ответа.

    Полный список номеров >>

    * Стоимость одного СМС-сообщения от 7.15 руб. и зависит от оператора сотовой связи. (полный список тарифов)
    ** При ошибочном вводе номера ответа или текста #thank услуга считается оказанной, денежные средства не возвращаются.
    *** Сумма выплаты эксперту-автору ответа расчитывается из суммы перечислений на портал от биллинговой компании.


    © 2001-2009, Портал RFpro.ru, Россия
    Авторское право: ООО "Мастер-Эксперт Про"
    Автор: Калашников О.А. | Программирование: Гладенюк А.Г.
    Хостинг: Компания "Московский хостер"
    Версия системы: 2009.6.5 от 08.07.2009

    В избранное