2015-03-20 9 views
10

abrufen Ich verwende die System.IO.Path.GetTempPath()-Methode, um den temporären Ordner aus Umgebungsvariablen abzurufen. Aber ich finde, dass dies immer die Variable TEMP oder TMP für die aktuellen Benutzer zurück, wenn es sonst existiert es wird das System TEMP oder TMP-Variable zurück.Den System-TEMP-Pfad speziell in C#

Gibt es eine Möglichkeit, die Variable System TEMP immer zu erhalten?

Ich kenne einige andere Fragen auf SO über die Path.GetTempPath() -Methode, wo Antworten verweisen auf die Dokumentation von MSDN darüber, wie diese Methode entscheidet, was zurückzukehren. Mir ist das Verhalten dieser Methode von MSDN bekannt, und ich frage, ob es eine andere Möglichkeit gibt, um sicherzustellen, dass ich den temporären Systemordner erhalte.

Antwort

21

Vielleicht suchen Sie nach der Environment.GetEnvironmentVariable Methode.

Diese Nutzung gibt Ihnen die Ordner% TEMP% des Benutzers:

Environment.GetEnvironmentVariable("TEMP"); 

wie C: \ Benutzer \ MyUserName \ AppData \ Local \ Temp

Und das gibt Ihnen die% des System TEMP% Ordner:

Environment.GetEnvironmentVariable("TEMP", EnvironmentVariableTarget.Machine); 

wie C: \ WINDOWS \ TEMP

+1

Ich bin nicht der downvoter, aber ich vermute, dass Sie da waren, während Sie Downvoted die Frage zu beantworten haben versucht, Ihnen nicht gesagt hat ** wie ** verwenden 'Environment.GetEnvironmentVariable', dh welche Argumente es zu passieren, usw. Insbesondere wollte das OP wissen, wie man die System TEMP-Variable * erhält, und Sie haben nicht gesagt, wie * das zu tun ist. Mit anderen Worten, Ihre Antwort ist am besten unvollständig. –

+1

@WaiHaLee, danke für deine Eingaben. Habe meine Antwort jetzt bearbeitet, um die zu übergebenden Parameter anzugeben. Hoffe, das macht die Antwort vollständiger. – sudheeshix

+0

Ich bin bei meinen Nachforschungen darauf gestoßen und muss den Zielparameter verpasst haben. Ich entschied mich schließlich dafür, den allgemeinen App-Datenordner anstelle von Systemtemp zu verwenden, um mögliche Probleme mit diesen Umgebungsvariablen zu vermeiden. – Brian