Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

In Outlook den Temp Ordner löschen

Frage Microsoft Outlook & Mail

Mitglied: TheChosenNeo

TheChosenNeo (Level 1) - Jetzt verbinden

08.10.2014, aktualisiert 13:06 Uhr, 2715 Aufrufe, 19 Kommentare

Hallo liebe Administrator-Gemeinde,

gibt es die Möglichkeit den Temporären Ordner von Outlook "Content.Outlook" zu deaktiveren?

Wenn dies nicht funktioniert. Ist es möglich in Outlook mit Hilfe von VBA es einzurichten das er bei jeder neuen Email prüft ob der Ordner in dem Pfad "C:\Users\§Benutzername$\AppData\Local\Microsoft\Windows\Temporary Internet Files\Content.Outlook" vorhanden ist und wenn ja das er ihn direkt löscht?

Ihr würdet mir damit echt Helfen. Ich habe leider immer Probleme mit diesem Ordner.

Vielen Dank.

Liebe Grüße

Mario
Mitglied: jsysde
08.10.2014 um 11:13 Uhr
Moin.
Ich habe leider immer Probleme mit diesem Ordner.
Die da wären?

Cheers,
jsysde
Bitte warten ..
Mitglied: colinardo
08.10.2014, aktualisiert um 11:23 Uhr
Hallo Mario,
ich hatte das damals mit einem AutoIT-Script bei solchen Clients bei denen sich das Problem nicht beheben ließ, als Übergangslösung gemacht, sollte aber mittlerweile bei neueren Outlooks nicht mehr auftreten, die sind dahingehend alle gepatcht.
01.
#NoTrayIcon 
02.
$OutlookVersion = StringRight(RegRead("HKEY_CLASSES_ROOT\Outlook.Application\CurVer",""),2) & ".0" 
03.
$folderOffice = RegRead("HKEY_CURRENT_USER\Software\Microsoft\Office\" & $OutlookVersion & "\Outlook\Security","OutlookSecureTempFolder") 
04.
 
05.
if  $folderOffice = "" then 
06.
	$ietempfolder = RegRead("HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders","Cache") 
07.
	Switch $OutlookVersion 
08.
		Case "11.0" 
09.
			$search = FileFindFirstFile($ietempfolder & "\OLK???") 
10.
		Case "12.0" 
11.
			$search = FileFindFirstFile($ietempfolder & "\Content.Outlook\OLK???") 
12.
		Case "14.0" 
13.
			$search = FileFindFirstFile($ietempfolder & "\????????") 
14.
		Case "15.0" 
15.
			$search = FileFindFirstFile($ietempfolder & "\Content.MSO") 
16.
	EndSwitch 
17.
	$nameOLK = FileFindNextFile($search) 
18.
	if @error = 1 then 
19.
		FileClose($search) 
20.
		exit 1 
21.
	EndIf 
22.
	FileClose($search) 
23.
	$folderOffice = $ietempfolder & "\" & $nameOLK & "\" 
24.
EndIf 
25.
FileSetAttrib($folderOffice & "*.*","-R") 
26.
$ret = FileDelete($folderOffice & "*.*") 
27.
if $ret = 1 then 
28.
	exit(0) 
29.
else 
30.
	exit(1) 
31.
EndIf
Grüße Uwe
Bitte warten ..
Mitglied: narthan
08.10.2014, aktualisiert um 11:39 Uhr
Hallo Mario,

ich hoffe folgendes kann dir weiterhelfen:

HIER

Die letzten 3-5 kurzen Abschnitte geben die Lösung wieder und eine optionale Lösung durch ein Programm (CCCleaner; Freeware) wird ebenfalls vorgeschlagen.

LG, narthan


---
Edit: Ups ich war zu spät. Vlt. nimmst du einfach das Script von Uwe
Bitte warten ..
Mitglied: TheChosenNeo
08.10.2014 um 11:28 Uhr
Der Ordner von dem Pfad oben. In dem Outlook immer wieder einen neuen anlegt mit wahrlosen Zahlen und Buchstabenkonstellationen. Deshalb würde ich ja gerne direkt immer den Ordner "Content.Outlook" löschen sobald ich zum Beispiel eine neue Email bekommen habe. Das würde das Problem sofort lösen.

Vielen Dank.

Mario
Bitte warten ..
Mitglied: TheChosenNeo
08.10.2014, aktualisiert um 11:36 Uhr
Hallo Uwe,

wie muss ich diesen Code verwenden damit er diesen Ordner immer wieder selbst löscht ohne das ich selbst aktiv werden müsste?

Danke

Mario

P.S. Wenn ich diesen Code versuche zu Verwenden kommen immer wieder Fehler aufgrund Ungültiges Zeichen. Was mache ich da falsch wenn ich den Code nicht so verwenden kann?
Bitte warten ..
Mitglied: colinardo
08.10.2014, aktualisiert um 11:38 Uhr
Zitat von TheChosenNeo:
wie muss ich diesen Code verwenden damit er diesen Ordner immer wieder selbst löscht ohne das ich selbst aktiv werden
müsste?
in meinem Fall hat es damals gereicht, den Code zur EXE zu kompilieren (s. AutoIt Seite, Link oben.) und dann in den Autostart des Rechners zu packen. Lässt sich aber bei Bedarf auch in ein Event in Outlook einbinden ... jedoch bekommst du dann eventuell Probleme mit Outlook wenn dieses geöffnet ist und Dateien darin im Zugriff hat. Das hat schon so manches mal bei Usern zu Abstürzen geführt kann ich also nicht empfehlen !
Bitte warten ..
Mitglied: TheChosenNeo
08.10.2014 um 11:42 Uhr
Ich hab leider nur die Möglichkeit an meinen Arbeitsrechner im Outlook etwas zu verändern oder über VBA. Programme oder der gleichen kann ich weder runterladen noch auf den PC aufspielen. Deshalb brauche ich irgendwie eine Lösung in Outlook die das Problem behebt. Aber trotzdem tausend dank den ich glaube der Ansatz wäre wenn das bei mir möglich gewesen wäre, perfekt gewesen.

Mario
Bitte warten ..
Mitglied: colinardo
08.10.2014, aktualisiert um 11:45 Uhr
Zitat von TheChosenNeo:
Ich hab leider nur die Möglichkeit an meinen Arbeitsrechner im Outlook etwas zu verändern oder über VBA. Programme
oder der gleichen kann ich weder runterladen noch auf den PC aufspielen. Deshalb brauche ich irgendwie eine Lösung in Outlook
die das Problem behebt. Aber trotzdem tausend dank den ich glaube der Ansatz wäre wenn das bei mir möglich gewesen
wäre, perfekt gewesen.
naja in VBS lässt sich das natürlich auch schreiben habe aber dafür grad keine Zeit.... eventuell später mal, wenn du sagst für welche Outlookversion du es brauchst lässt es sich auch noch vereinfacht schreiben ...
Bitte warten ..
Mitglied: TheChosenNeo
08.10.2014 um 12:00 Uhr
Das wäre echt sehr nett von dir. Ich verwende hier Outlook 2010.

Danke.
Bitte warten ..
Mitglied: colinardo
08.10.2014, aktualisiert um 12:25 Uhr
Das hier in ThisOutlookSession oder DieseOutlookSitzung einfügen und Outlook neu starten. Dies leert den Outlook-Temp-Ordner bei jedem Start von Outlook.
01.
Private Sub Application_Startup() 
02.
    EmptyOutlookTempFolder 
03.
End Sub 
04.
 
05.
Sub EmptyOutlookTempFolder() 
06.
    dim tempfolder as String, objShell as Object, fso as Object, subfolder as Object 
07.
    Set objShell = CreateObject("Wscript.Shell") 
08.
    Set fso = CreateObject("Scripting.FileSystemObject") 
09.
    tempfolder = objShell.RegRead("HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders\Cache") & "\Content.Outlook" 
10.
    If fso.FolderExists(tempfolder) then 
11.
      For Each subfolder In fso.GetFolder(tempfolder).SubFolders 
12.
          On Error Resume Next 
13.
          fso.DeleteFile subfolder.Path & "\*.*" 
14.
      Next 
15.
    End if 
16.
    Set objShell = Nothing 
17.
    Set fso = Nothing 
18.
End Sub
Das in Outlook die Ausführung von Makros erlaubt ist natürlich Voraussetzung.

Grüße Uwe
Bitte warten ..
Mitglied: TheChosenNeo
08.10.2014 um 12:26 Uhr
Vielen Dank,

ist das auch irgendwie möglich das er dies macht sobald ich eine Neue Email bekommen habe? Da ich Outlook nur einmal schließe und die Probleme ja immer in dem Ordner stattfinden.

Danke Mario
Bitte warten ..
Mitglied: colinardo
08.10.2014, aktualisiert um 12:28 Uhr
Zitat von TheChosenNeo:
ist das auch irgendwie möglich das er dies macht sobald ich eine Neue Email bekommen habe? Da ich Outlook nur einmal
schließe und die Probleme ja immer in dem Ordner stattfinden.
das geht auch, aber wie oben geschrieben ohne Gewähr da es zu Abstürzen von Outlook führen kann.

01.
Private Sub Application_NewMail() 
02.
   EmptyOutlookTempFolder 
03.
End Sub 
04.
 
05.
Sub EmptyOutlookTempFolder() 
06.
    dim tempfolder as String, objShell as Object, fso as Object, subfolder as Object 
07.
    Set objShell = CreateObject("Wscript.Shell") 
08.
    Set fso = CreateObject("Scripting.FileSystemObject") 
09.
    tempfolder = objShell.RegRead("HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders\Cache") & "\Content.Outlook" 
10.
    If fso.FolderExists(tempfolder) then 
11.
      For Each subfolder In fso.GetFolder(tempfolder).SubFolders 
12.
          On Error Resume Next 
13.
          fso.DeleteFile subfolder.Path & "\*.*" 
14.
      Next 
15.
    End if 
16.
    Set objShell = Nothing 
17.
    Set fso = Nothing 
18.
End Sub
Bitte warten ..
Mitglied: TheChosenNeo
08.10.2014 um 12:32 Uhr
Danke,

das werde ich gleich mal Testen.

Bei mir kommt dann folgender Fehler:

Laufzeitfehler '-2147024894 (80070002)':

Ungültige Wurzel im Registrierungsschlüssel
"HKEY_CURRENT_USER\Software\Mircrosoft\Windows\CurrentVersion\Explorer\ShellFolders\Cache".

Kann das sein das mein Pfad von oben beschrieben vielleicht wo anders liegt und er es nicht finden kann?

Mario
Bitte warten ..
Mitglied: colinardo
08.10.2014, aktualisiert um 12:42 Uhr
Ungültige Wurzel im Registrierungsschlüssel
"HKEY_CURRENT_USER\Software\Mircrosoft\Windows\CurrentVersion\Explorer\ShellFolders\Cache".
da hast du einen Buchstabendreher eingebaut
"Mircrosoft"

und das Leerzeichen zwischen "ShellFolders" hast du auch nicht gelassen, wie hast du das kopiert alter ?????

Bitte über Quelltext kopieren !!
Bitte warten ..
Mitglied: TheChosenNeo
08.10.2014 um 12:45 Uhr
Ja das tut mir leid. Ich habe den Fehler aber nur bei der Fehlerbeschreibung. Im Ursprungscode habe ich deine Zeilen 1:1 kopiert.
Bitte warten ..
Mitglied: colinardo
08.10.2014, aktualisiert um 12:52 Uhr
Zitat von TheChosenNeo:

Ja das tut mir leid. Ich habe den Fehler aber nur bei der Fehlerbeschreibung. Im Ursprungscode habe ich deine Zeilen 1:1 kopiert.
welches OS ? Navigiere in der Registry mal in diesen Schlüssel ob dort der Wert Cache existiert. Ansonsten mach es vereinfacht so ...

01.
Private Sub Application_NewMail() 
02.
   EmptyOutlookTempFolder 
03.
End Sub 
04.
 
05.
Sub EmptyOutlookTempFolder() 
06.
    Dim tempfolder As String, objShell As Object, fso As Object, subfolder As Object 
07.
    Set objShell = CreateObject("Wscript.Shell") 
08.
    Set fso = CreateObject("Scripting.FileSystemObject") 
09.
    userprofile = objShell.ExpandEnvironmentStrings("%userprofile%") 
10.
    tempfolder = userprofile & "\AppData\Local\Microsoft\Windows\Temporary Internet Files\Content.Outlook" 
11.
    If fso.FolderExists(tempfolder) Then 
12.
      For Each subfolder In fso.GetFolder(tempfolder).SubFolders 
13.
          On Error Resume Next 
14.
          fso.DeleteFile subfolder.Path & "\*.*" 
15.
      Next 
16.
    End If 
17.
    Set objShell = Nothing 
18.
    Set fso = Nothing 
19.
End Sub
Bitte warten ..
Mitglied: TheChosenNeo
08.10.2014 um 12:55 Uhr
Oh Sorry. Hatte in einer anderen Zeile einen Fehler warum er nicht korrekt weiter gemacht hat. Aber der Ordner ist jetzt noch vorhanden wenn ich das Makro ausführe. Löscht das nur den Inhalt in dem Temp-Ordner?
Bitte warten ..
Mitglied: colinardo
LÖSUNG 08.10.2014, aktualisiert um 13:06 Uhr
Zitat von TheChosenNeo:
Löscht das nur den Inhalt in dem Temp-Ordner?
Ja nur den Inhalt, das reicht aber auch, wie gesagt Outlookabstürze könnten die Folge sein ...

lässt sich aber ändern indem man die Löschzeile durch diese austauscht:
fso.DeleteFolder subfolder.Path, True
dann wird der ganze Ordner gelöscht, aber nur solange Outlook keine Files mehr in dem Ordner offen hat !
Bitte warten ..
Mitglied: TheChosenNeo
08.10.2014 um 13:07 Uhr
Echt vielen Dank.

Jetzt ist das Problem mit einem Schlag entfernt.
Bitte warten ..
Neuester Wissensbeitrag
Windows 10

Powershell 5 BSOD

(8)

Tipp von agowa338 zum Thema Windows 10 ...

Ähnliche Inhalte
Windows 7
AppData Temp Ordner beim Abmelden löschen (9)

Frage von markaurel zum Thema Windows 7 ...

Batch & Shell
gelöst Powershell - Ordner löschen mit Ausnahme (10)

Frage von Bugger zum Thema Batch & Shell ...

Windows 7
gelöst Alten Windows Ordner löschen (5)

Frage von Power-Poler zum Thema Windows 7 ...

Windows Server
gelöst Hunderttausende leerer Ordner mit IDs als Name in Windows-Temp-Ordner (14)

Frage von YotYot zum Thema Windows Server ...

Heiß diskutierte Inhalte
Microsoft
Ordner mit LW-Buchstaben versehen und benennen (20)

Frage von Xaero1982 zum Thema Microsoft ...

Outlook & Mail
gelöst Outlook 2010 findet ost datei nicht (19)

Frage von Floh21 zum Thema Outlook & Mail ...

Netzwerkmanagement
gelöst Anregungen, kleiner Betrieb, IT-Umgebung (18)

Frage von Unwichtig zum Thema Netzwerkmanagement ...