Написание запланированного задания (ConsoleApp) для записи текстовых файлов - PullRequest
0 голосов
/ 14 декабря 2011

Мне нужно написать задачу, которая записывает текст в текстовый файл.Это не должно быть слишком сложно, это то, что я сначала подумал, но я ошибаюсь где-то довольно рано.Позже Задача должна запускаться как Пользователь, у которого нет локальной учетной записи Windows, возможно, это тоже может быть проблемой, но я застрял еще раньше.Я использую меня (локальный администратор, пользователь домена) для реализации и запуска задачи в планировщике задач Windows, действие заключается в запуске .exe, задача должна запускаться, даже если не вошли в систему.

Код в exeуказывается как follws


    StreamWriter sw = null;
    try
    {
        sw = File.CreateText(@"C:\temp\test.txt");
        sw.WriteLine("something something");
    }
    finally { sw.Dispose(); }

Папка (temp-) доступна для всего домена, включая меня и пользователя, для запуска задачи позже.

задача заканчивается с кодом ошибки 0xc0000005 и нетТекстовый файл был написан.Что я делаю неправильно?Текстового файла не существует!

Заранее спасибо!

PS: задача, стоящая за этой задачей, состоит в том, чтобы запустить его как пользователь, имеющий доступ к сетевому диску, чтобы данные сохранялись вСетевой диск может быть доступен человеку на ПК, так как подключение к сетевому диску - это боль.

Ответы [ 2 ]

0 голосов
/ 14 декабря 2011

Код ошибки 5 указывает «Доступ запрещен».Имеет ли пользователь, под которым выполняется запланированное задание, разрешение на запись в C: \ TEMP?

0 голосов
/ 14 декабря 2011

Всегда используйте, используя:

try {
    using (StreamWriter sw = new StreamWriter(@"C:\test\test.txt", false)) {
        sw.WriteLine("Write something");
    }
}
catch (Exception e ) {
    DoSomeThing(e);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...