2011-12-14 4 views
0

Textfile에 텍스트를 쓰는 작업을 작성해야합니다. 이것은 너무 복잡해서는 안되지만 처음에는 생각했지만 어딘가에 실수를 꽤 일찍 만들어야합니다. 작업은 나중에 로컬 Windows 계정이없는 사용자로 실행해야합니다. 문제가 될 수도 있지만 더 일찍 처리 될 수 있습니다. 메신저 (로컬 관리자, 도메인 사용자) 구현 및 Windows 작업 스케줄러에서 작업을 실행하는 작업을 실행하는 것입니다 .exe, 작업도 로그인하지 않아도 실행해야합니다.예약 된 작업 작성 (ConsoleApp) textfiles 작성

코드는 exe 상태로 폴더

 

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

(temp-) 폴더는 나 및 나중에 사용자가 작업을 실행하는 사용자를 포함하여 전체 도메인에서 액세스 할 수 있습니다.

오류 코드 0xc0000005에서 작업이 끝나고 텍스트 파일이 기록되지 않았습니다. 내가 도대체 ​​뭘 잘못하고있는 겁니까? 텍스트 파일이 없습니다!

미리 감사드립니다.

추신 :이 작업의 배경은 네트워크 드라이브에 액세스 할 수있는 사용자로 실행되도록하여 네트워크 드라이브에 저장된 데이터를 네트워크에 연결하여 PC의 사람이 액세스 할 수 있도록하는 것입니다. 운전은 고통이다.

try { 
    using (StreamWriter sw = new StreamWriter(@"C:\test\test.txt", false)) { 
     sw.WriteLine("Write something"); 
    } 
} 
catch (Exception e) { 
    DoSomeThing(e); 
} 
+2

예외적 인 경우가 아니라 항상 처분해야합니다. –

+0

또한 발생할 수있는 예외를 삼킬 수도 있습니다. –

+0

무슨 문제가있는 것 같습니까? 당신은 실제로 문제가 무엇인지 말하지 않았습니다. 어떤 오류/예외가 발생합니까? – Oded

답변

0

5의 오류 코드는 "액세스 거부"를 나타냅니다

+0

감사합니다, 이것이 문제입니다. 하지만 사용자가 로컬 사용자가 아니기 때문에 문제가 발생했습니다. 폴더를 공유하고 싶지는 않지만 올바른 방향입니다. – efkah

0

항상 사용하여 사용합니다. 예약 된 작업이 실행되는 사용자에게 C : \ TEMP에 대한 쓰기 권한이 있습니까?

+0

사용하거나 쓰는 것 같아요 - 마침내 바이너리에 영향을주지 않습니다. 하지만 어쨌든 덕분에 ;-) 나는 "권장 접근 방식"을 알고있다 – efkah