![]() |
|
Модераторы: bartram, Akella |
![]()
|
|
| Гость_Сергей |
|
|||
|
Unregistered |
Вот в командной строке можно использовать переменные %DATE% и %TIME%, которые выдают соответственно дату в формате ДД.ММ.ГГГГ и время в формате ЧЧ:ММ:СС,ЦЦ
у меня стоит запланированное задание, которое каждый день создаёт файл с именем report.txt вручную приходиться потом переименовывать этот файл, например monday.txt вопрос 1. как можно сделать назначенное задание, чтобы оно переименовывало файл report.txt в файл дня недели (в понедельник monday.txt и т. д.) или какие программы для этого есть? вопрос 2. что означают ЦЦ (две цифры), следующие после запятой? |
|||
|
||||
| Bogdan1024 |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1436 Регистрация: 28.9.2005 Где: Киев Репутация: нет Всего: 13 |
вопрос 1.
Можно запрограмировать прогу -------------------- ![]() |
|||
|
||||
| quarz |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 205 Регистрация: 7.1.2005 Репутация: нет Всего: 3 |
Имхо средствами винды такое сделать не получится. Как сказал Богдан, выход - писать программу которая бы запускалась той же виндой после создания файла и переименовывала бы этот файл...работа на 2 строки)) если нужно - могу помочь
|
|||
|
||||
| lovermann |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 285 Регистрация: 28.12.2004 Где: Прага Репутация: нет Всего: 8 |
Я так понял, у человека есть .bat-файл, который создаёт/исправляет лог. Зачем ему запускать какую-то программу, когда можно поправить этот батник так, чтобы он сам называл файл, как надо. Этот же код можно сохранить как отдельный батник и тоже создать задание запускать этот батник сразу после создания файла репорта.
Вот тебе часть кода, которая переименовывает файл в соответствии с днём недели:
К сожалению, в моей версии DOS-а переменная %DATE% не хранит день недели, хотя в примерах я видел, что в других версиях она там хранится - её можно вытянуть, поэтому скрипт, который я привёл сделан немного сложно, что никак не влияет на его функциональность или скорость работы Этот же код можно переписать на JScript или VBScript (будет намного проще, думаю, выглядеть) и использовать WSH, который есть в винде. Это сообщение отредактировал(а) lovermann - 16.1.2006, 17:32 |
|||
|
||||
| Гость_Сергей |
|
|||
|
Unregistered |
loverman, спасибо за батник.
только неправильно он переименовывет. вот сегодня 16.01.2006 я его запускаю, он мне переименовывает в субботу, меняю дату на 18.01.2006 всё равно на субботу переименовывает. и можешь поподробнее рассказать, как связаны errorlevel и день недели? |
|||
|
||||
| Гость_Сергей |
|
|||
|
Unregistered |
%DATE% хранит в себе день недели, если стоит win2000, а на ХР и 2003 она не хранит день недели...
|
|||
|
||||
| LSD |
|
|||
![]() Leprechaun Software Developer ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 15718 Регистрация: 24.3.2004 Где: Dublin Репутация: 14 Всего: 538 |
В принципе можно сделать такой финт ушами: в реестре в разделе HKCU\Control Panel\International присваиваем ключу sShortDate значение dddd (через апплет панели управления это не сделать, онбудет ругаться на неправильный формат). Теперь в переменной %DATE% будет храниться день недели, правда в сокращенном формате (Пн, ВТ, Ср и т.д.).
Чтобы не "поганить" основную систему, можно создать фиктивного пользователя и проделать эти установки для него. И соответсвенно запускать запланированное задание, от его имени. -------------------- Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it. |
|||
|
||||
| Гость_Сергей |
|
|||
|
Unregistered |
все назначенные задания у меня происходят от имени robot. поменял ему формат даты. действительно формат изменился.
НО. при выполнении этого задания, происходит ошибка (прошлый запуск 0х1). поискал в интернете, что бы это могло быть. нашёл ответ non-unicode symbols in bat-file. скорее всего это глюк какой-то из-за того, что переменная %DATE% в пакетном файле выдаёт день недели в дос-кодировке, а имя файла записывается в вин-кодировке. Может из-за этого чтонибудь не так? Но всё же хотелось бы не менять формат даты у пользователя robot, потому что есть другие задания, в которых требуется именно формат ДД.ММ.ГГГГ Объясните, пожалуйста, поподробнее как работает код у loverman, а то я не понял, как %errorlevel% влияет на текущий день недели. |
|||
|
||||
| Гость_Сергей |
|
|||
|
Unregistered |
Да, прога тоже очень поможет.
quarz, можешь написать? думаю она небольшая, всего несколько строк. Вот условие к проге. исполняемый файл switch.exe запускаться он будет майкрософтовским шедулером, соответственно с параметрами. например switch.exe C:\reports\report.txt делает следующее. берёт файл reports.txt, переименовывает его в monday.txt (меняет только имя файла, расширение оставляет). А на чём написать сможешь? |
|||
|
||||
| lovermann |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 285 Регистрация: 28.12.2004 Где: Прага Репутация: нет Всего: 8 |
Мой предыдущий код не работает
Есть другое решение: .vbs скрипт, который переименовывает файл. На этот раз работает - проверено 100%. rename_file.vbs
И не надо никаких программ Это сообщение отредактировал(а) lovermann - 16.1.2006, 17:39 |
|||
|
||||
| Гость_Сергей |
|
|||
|
Unregistered |
loverman, огромное спасибо! всё работает.
только ещё один момент. что нужно добавить в файл rename_file.vbs, чтобы перед переименование файла удалялся старый файл? в директории уже находятся файлы monday.txt, tuesday.txt ... и report.txt твой скрипт виснет, если в понедельник переименовывается файл, а monday.txt уже существует. |
|||
|
||||
| Гость_Сергей |
|
|||
|
Unregistered |
Нашёл! :-) надо читать мануалы :-)
добавил fso.DeleteFile и всё заработало. всем спасибо! |
|||
|
||||
| lovermann |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 285 Регистрация: 28.12.2004 Где: Прага Репутация: нет Всего: 8 |
Ну, я рад, что смог помочь.
Если потребуется помощь, обращайся в этот форум, а вообще, я вижу ты убедился, что кучу готовых скриптов можно найти в интернете |
|||
|
||||
![]()
|
| Правила форума "Windows" | |
|
|
Запрещается! 1. Обсуждать взлом и делиться кряками 2. Способствовать созданию и распространению вирусов
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, December, bartram, Akella. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | MS Windows | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |