![]() |
Создание папки с датой вчерашнего дня
Вложений: 1
Всем привет. Столкнулся с проблемой при формировании даты, а именно числами 8 и 9 в батнике. Насколько понимаю это связано с восьмеричной с/с
Прикрепил батник который создает папки структуры гггг/мм/дд Но вот в дни где есть цифры 8 или 9 он нехочет работать. Помогите дописать код чтобы избавиться от этой проблемы. Спасибо |
На WSH:
Скрытый текст
Код:
Option Explicit |
Sergey.l,
Если не изобретать велосипед, то вот CMD
Код:
@Echo Off |
Вложений: 1
Спасибо, большое! Нашел батник. (См. вложение)
Подскажите, как сделать условие так чтобы при запуске батника до 00:00 формировалась текущая дата, а после вчерашнее число. Работаю сутки/двое. Днем создаю рабочие папки с тек. датой, а в конце дежурства, т.е. на след день батником забираю с созданных вчера папок файлы. Буду премного обязан за помощь! |
megaloman, как обычно, мы ничего не знаем — зачем сие нужно :lol:.
Цитата:
|
Нет. С датой изменения файла не получиться. Приходит очень много инфы от организаций. Нужно в течении суток их разбирать, и помимо этого, еще есть задачи.
|
Ничего смешного. Есть папка с текущей датой, 08.01.2018. Надо батником перемещать туда файлы в течении суток, после полуночи уже 9 число и батник должен следуя условию перемещать в папку не в 09.01.2018, а в 08.01.2018
Цитата:
Цитата:
|
Sergey.l, Вы так и не поняли, в чём проблема.
megaloman, желаю успеха в развитии навыка телепатии ;) и заранее сочувствую. |
Основная задача по маске например %d%%m%%y% из папки забирать или в нее копировать файлы. Неудобство в том что днем нужна тек дата а ночью вчерашняя. Мне не сложно было это делать через тотал коммандер, но вы бы видели сколько каталогов и файлов с которыми приходиться работать. Папка с числом наход в 15-20 каталогах и с разных мест в эти папки надо перемещать файллы, а в конце смены забрать обработанные.
Я не совсем разбираюсь в этом. Хотел бы на вас посмотреть, как вы разъяснялись в незнакомой области. Или вы все знаете?))) Цитата:
|
Цитата:
Определитесь, что такое ночь, и что такое день - в математике нет таких понятий. Допустим с 00:00:00,00 до 07:59:59,99 это ночь. с 08:00:00,00 до 23:59:59,99 это день. |
Еще раз постараюсь объяснить. Согласен, что запутал вас.
С 08:00 до 00:00 - день С 00:01 до 07:59 - ночь В 8:00 я создаю папку в разных местах с текущей, сегодняшней датой через батник. Весь день перемещаю в эти папки и забираю из них файлы по маске %d%%m%%y%. После полуночи дата меняется. Соответственно батник уже будет искать файлы и перемещать в папки не с датой например 08012018, а 09012018. Вот для этого я и прошу помочь в решении этого вопроса. Понятно, сто можно два батника написать с текущей датой, и тек дата - 1. Но хотелось бы один Цитата:
|
Sergey.l,
Вот определение даты для имени папки в зависимости от того, когда ночь.
Код:
@Echo Off Цитата:
|
Powershell:
Код:
mkdir (get-date).AddDays(-1).ToString("dd.MM.yyy") |
Спасибо!
|
Зачем городить огород с этими батниками,если можно одной строкой из павершел все сделать!
|
Wirehead, например, для того, чтобы не разворачивать сотню остальных строк из пакетного файла в тысячу строк на PowerShell.
|
Да уж лучше потратить несколько недель и портировать всё на Powershell, чем постоянно на грабли наступать в батниках, пытаясь там реализовать через разные извращения уже встроенные в пауэршелл готовые командлеты и модули. Будет наоборот - сто строк батника будут десятью строками в пауэршелле. Нужно сказать, что большинство, если не все, команды старой командной строки являются алиасами в Powershell, так что, возможно, ничего особо и переделывать-то не придётся.
К тому же, появится новое полезное умение. |
DJ Mogarych, в данном случае не могу с Вами согласиться, коллега: какой смысл тратить несколько дней или недель на то, что уже и так работает?!
|
Чтобы держаться прогресса, потому что в какой-то момент окажется, что то, что работало, работать перестало, а миграция на новые решения невозможна, потому что пропущено слишком много итераций, и прямой апгрейд не поддерживается.
Положим, к этому случаю это имеет непрямое отношение, но несколько раз видел совершенно исключительные случаи, типа сеть на компах под Windows NT в 2013 году, где задача стояла установить антивирус Касперского. Ну и, в конце концов, интересно же изучать что-то новое и более эффективное :) |
Iska, DJ Mogarych, от вопроса ушли, коллеги :) для поддержания офтопа:
Iska, иногда стоит потратить. Тот же вопрос с определением даты для cmd/bat - больной весьма, и решать его раз и насовсем никто не хочет, у меня в одном батнике вообще та еще хрень работает - cmd запускает posh, тот дергает несколько значений (в т.ч. и дату с перемоткой на неделю назад) и складывает их в файл, откуда эти значения забираются обратно cmd. Писано еще года три назад, костыль, конечно, но костыль прям таки титановый, не ломается, зараза! А вот то что этот костыль заменил - ломалось, по крайней мере 1-2 раза в месяц приходилось искать куда подевалось то, что должно было лежать вот в этом конкретном "здесь", а не в том "здесь", которое "там". DJ Mogarych, большей частью согласен, однако есть одно "но": Iska говорит в первую очередь о скриптовых языках, в них изменения если и происходят, то не столь агрессивные как в приведенном примере (обычно). |
PowerShell Core 6.0: Generally Available (GA) and Supported!
Цитата:
|
Цитата:
|
Время: 14:07. |
Время: 14:07.
© OSzone.net 2001-