Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум «Всё о Паскале» _ Ассемблер _ нужна помощь в создании программы

Автор: 1147 15.10.2009 4:05

помогите с такой задачей: нужно создать программу которая каждый день, в 6 часов утра копирует файл из папки С:\1\rew в папку D:\2\11.10.2009 и задает ему имя текущей даты

Автор: volvo 15.10.2009 4:24

Так у тебя программа что, будет постоянно в памяти висеть? Или тебя устроит вариант запуска в определенное время (скажем, через At) и выполнение определенных действий? Хотя тогда можно вообще без ассемблера, одним батником обойтись...

Автор: 1147 15.10.2009 5:11

если будет висеть в памяти, то наверное ничего страшного т.к. много ресурсов ей не нужно. но вариант с батником все же предпочтительнее.. можно поподробнее о нем?

Автор: Lapp 15.10.2009 5:16

Цитата(1147 @ 15.10.2009 2:11) *
вариант с батником все же предпочтительнее.. можно поподробнее о нем?
Какая у тя Винда?

Автор: 1147 15.10.2009 5:21

ХР, SP2

Автор: Lapp 15.10.2009 5:51

Цитата(1147 @ 15.10.2009 2:21) *
ХР, SP2

1. Поставь сервис Task Scheduler в автомат.
2. Задать задачу можно двумя способами:
- команда at в комстроке (help at для справки)
- в windows explorer: My Computer -> Control Panel -> Scheduled Tasks
3. батник сам напишешь?

Автор: volvo 15.10.2009 5:56

1147, все просто на самом деле: пишешь вот такой батник (допустим, назовем его F:\my.bat):

@echo off
for /F "tokens=1,2,3,4 delims=/ " %%i in ('date /T') do copy F:\t2\test.txt E:\t1\%%k.%%j.%%l.txt
, и запускаешь At из командной строки:
F:\>at 6:00 /every:m,t,w,th,f,s,su f:\my.bat


Теперь каждый перечисленный день (а перечислены все дни недели, то есть, каждый день) в 6 утра файл test.txt из папки F:\t2 будет копироваться в папку E:\t1 под именем ТекущийДень.ТекущийМесяц.ТекущийГод.txt...

Названия папок и файлов замени на нужные тебе... Проверено только что на WinXP SP3, отработало...

Автор: Lapp 15.10.2009 6:01

Цитата(volvo @ 15.10.2009 2:56) *
1147, все просто на самом деле:
да yes2.gif
Но сервис все же не забудь запускать)).

Добавлено через 6 мин.
Стоп... что-то я не уверен..
Цитата(volvo @ 15.10.2009 2:56) *
F:\>at 6:00 /every:m,t,w,th,f,s,su f:\my.bat

- оно правда работает? Я б сделал так, думаю..
Код
at 6:00 /every:m,t,w,th,f,s,su "command -c f:\my.bat"

Автор: volvo 15.10.2009 6:09

Цитата
оно правда работает?
Ну, не работало б - я бы не запостил, наверное? smile.gif

Автор: Lapp 15.10.2009 6:30

Цитата(volvo @ 15.10.2009 3:09) *
Ну, не работало б - я бы не запостил, наверное? smile.gif
так-то воно так, но.. wacko.gif эх, давно это было..

Автор: 1147 15.10.2009 17:36

до каких пор будет действовать добавленная задача? после перезагрузки пк она действует или чтобы ее отменить нужно какое-то другое действие?

Автор: volvo 15.10.2009 17:58

Будет работать и после перезагрузки (проверь в "Панель управления" -> "Назначенные задания" что у тебя задание корректно создано и присутствует в списке). Чтобы удалить задание - надо вызвать

at ИдентификаторЗадания /delete
, это все написано в Хелпе, кстати... ИдентификаторЗадания можешь посмотреть запуском команды At без параметров...

Добавлено через 1 мин.
Что-то тема от ассемблера удаляется. Может, перенесу ее в раздел "ОС и ПО"?

Автор: 1147 15.10.2009 18:27

чтото у меня при назначении задания все время возникает ошибка "не удается установить учетную запись". пробовал на разных пк и везде одна и та же ошибка с учетной записью. В чем тут может быть дело?

Автор: volvo 15.10.2009 18:46

Можешь показать, как выглядит ошибка? Скриншот ее, в смысле...

Добавлено через 1 мин.
Вдогонку: пользователь с админскими правами, или без них?

Автор: 1147 15.10.2009 18:55

с админскими правами


Эскизы прикрепленных изображений
Прикрепленное изображение

Автор: volvo 15.10.2009 19:04

Вот это почитай:

Цитата
Корпорация Microsoft стала ограничивать функциональность оперсистем, начиная с WindowsXp, в том случае, если в текущей учётной записи не установлен пароль. Чтобы в Планировщике заданий устранить ошибку "не удаётся установить учётную запись" надо либо задать пароль в текущей учётке, либо снять ограничение на использование пустых паролей. Какой вариант удобнее для Вас?

1)Задать пароль можно войдя в ПанельУправления \ "Учётные записи пользователей", клик на иконке текущей учётки, в ней запустите команду СозданиеПароля. Для начала создайте простой пароль (хотя бы одну цифру 1, пароль можно изменить позже), не содержащий букв. Иногда пользователи задают в пароле латинскую "A", а при запросе вводят внешне похожую русскую "А", несоответствие регистров (размеров) букв также приводит к ошибке, так как коды этих букв - разные.

2)Чтоб снять ограничение на использование пустых паролей войдите в ПанельУправления \ Администрирование \ "Локальная политика безопасности" \ "Локальные политики" \ "Параметры безопасности". Отключите параметр "Учетные записи: ограничить использование пустых паролей только для консольного входа".

Теперь для любого из выбранных Вами вариантов надо привести в соответствие параметры безопасности (логин и пароль), заданные для входа в учётную запись, аналогичным значениям для каждого из заданий Планировщика. Это необходимо делать при каждой смене пароля или параметров задания. Для этого в свойствах задания на вкладке Задание нажмите кнопку ЗадатьПароль. Если кнопка не-активна, то (хотя бы временно) сбросьте флаг "Выполнять только при выполненном входе в систему". Нажмите ОК (окно закроется) или Применить.

Проверьте исполняемость задания из его контекста (правый клик по его имени) командой Выполнить.

Автор: 1147 15.10.2009 19:30

в заданное время открылся текстовый документ my.bat. Он так и должен каждый раз открываться? А нужный файл не был скопирован...
Назначение задания аналогично строке F:\>at 6:00 /every:m,t,w,th,f,s,su f:\my.bat в командной строке?

Автор: volvo 15.10.2009 20:11

Цитата
в заданное время открылся текстовый документ my.bat. Он так и должен каждый раз открываться?
Ну, я уж не знаю, что ты там себе назначил открывать, вот скриншот свойств Задания:
Прикрепленное изображение
, в назначенное время файл my.bat запустился на выполнение и выполнил поставленную задачу. Может, ты назначил себе открытие это файла текстовым редактором, а не запуск?

Автор: 1147 15.10.2009 20:38

у меня в свойствах файла my.bat приложение-текстовый редактор. Какое должно быть приложение вместо редактора чтобы все правильно работало? Чтобы создать bat файл, наверное не достаточно просто в блокноте написать определенную строчку. Что для этого необходимо сделать?

Автор: volvo 15.10.2009 21:58

Цитата
меня в свойствах файла my.bat приложение-текстовый редактор
То есть, у тебя файл что, сохраняется как my.bat.txt??? Отключи скрытие расширений для известных типов файлов в настройках папки (снять галку с Folder Options-> View -> Hide extension for known file types), и убедись, что .BAT - это последнее, что есть в расширении файла, если там будет my.bat.txt, то этот файл не будет запускаться, а будет только открываться Блокнотом...

Цитата
Чтобы создать bat файл, наверное не достаточно просто в блокноте написать определенную строчку
Достаточно... Смотри:
1) открываешь блокнот, пишешь в нем текст BAT-файла, Save As -> my.bat
2) запускаешь "Scheduled Tasks" -> Next -> при запросе выбора приложения жмешь Browse -> выбираешь только что сохраненный BAT-файл и жмешь кнопку Open...
3) выбираешь частоту запуска (Ежедневно) и время
4) вводишь пользователя от имени которого будет запускаться задание + пароли на учетку (если есть)
5) все, жмешь Finish

Потом открываешь Свойства полученного файла *.JOB и убеждаешься, что никакого Notepad-а там не запускается, запускаться должен именно BAT-ник... Все работает, только что еще раз проверил...