Supportnet Computer
Planet of Tech

Supportnet / Forum / Skripte(PHP,ASP,Perl...)

Temporary Internet Files loschen





Frage

Hallo, im o.g. Verzeichnis gibt es 4 Unterverzeichnisse mit kryptischen Bezeichnungen; darin enthalten sind Dateien die während einer oder mehreren Internetsitzungen empfangen wurden. In den Internetoptionen ist eine Schaltfläche zum Entfernen dieser Dateien vorgesehen. Ich will diese Dateien aber mittels vb-Scriptdatei beim Herunterfahren des Systems löschen. Mit folgendem Scriptbeispiel funktioniert das auch, allerdings wird die versteckte Datei "desktop.ini" ebenfalls gelöscht. Was hätte es für Auswirkungen wenn diese Datei gelöscht würde? Set oFSO = WScript.CreateObject("Scripting.FileSystemObject") Set oFolder = oFSO.GetFolder("c:\..\..\\") Set oFiles = oFolder.Files For Each oFile In oFiles oFSO.DeleteFile(oFile.Path) Next Set oFiles = Nothing Set oFolder = Nothing Set oFSO = Nothing Hat jemand eine Idee wie vorstehender Programmcode erweitert werden kann damit "desktop.ini" vom Löschvorgang ausgeschlossen wird? mfg Reiner

Antwort 1 von kicia

hallo birgitte,

...
For Each oFile In oFiles
	if not oFile.Name = "desktop.ini" then
		oFSO.DeleteFile(oFile.Path)
	end if
Next
...


Gruß,
k.

Antwort 2 von sandar

vorsichtshalber:
if not LCase(oFile.Name) = "desktop.ini" then


Antwort 3 von Arno_Nym

Zitat:
Was hätte es für Auswirkungen wenn diese Datei gelöscht würde?

Keine. Diese Datei wird beim nächsten Systemstart/Anmelden automatisch neu erstellt.

Arno

Antwort 4 von birgitte

liebe Leute,

eure Tipps waren allesamt sehr hilfreich für mich; an dieser Stelle möchte ich aber noch einen Nachtrag einfügen:
Im beschriebenen Fall ist der Dateiname bekannt, wie müsste jedoch der Programmcode abgeändert werden wenn mehrere versteckte -nicht namentlich bekannte- Dateien vom Löschvorgang ausgeschlossen werden?

mfg
Reiner

Antwort 5 von kicia

Hallo,
folgendes gilt für Javascript, aber ich glaube, die eigenschaften sind in VBS die selben:

Javascript auszug:
...
if ( file.attributes != 0 && file.attributes != 32 )
{
	msg("[savefile] kann auf Datei nicht zugreifen ---><b>" + FileName + "</b> (att:" + file.attributes + ")");
	return false;
}
...


Für Dich würde das bedeuten:
...
if not oFile.attributes = 2 then
...


Wobei gilt:[
code]// attributes:
// 0 Normal Normal file. No attributes are set.
// 1 ReadOnly Read-only file. Attribute is read/write.
// 2 Hidden Hidden file. Attribute is read/write.
// 4 System System file. Attribute is read/write.
// 8 Volume Disk drive volume label. Attribute is read-only.
// 16 Directory Folder or directory. Attribute is read-only.
// 32 Archive File has changed since last backup. Attribute is read/write.
// 1024 Alias Link or shortcut. Attribute is read-only.
// 2048 Compressed Compressed file. Attribute is read-only.

Siehe:
http://msdn2.microsoft.com/en-us/library/t0aew7h6.aspx
http://msdn2.microsoft.com/en-us/library/5tx15443.aspx

Antwort 6 von sandar

kommt drauf an, was du unter versteckt verstehst.

die dateien ausnehmen, die das dateisystemattribut "versteckt" besitzen:

IF (oFile.Attributes AND 2)=0 THEN
	oFSO.DeleteFile(oFile.Path)
END IF


die dateien ausnehmen, die das dateisystemattribut "system" besitzen:

IF (oFile.Attributes AND 4)=0 THEN
	oFSO.DeleteFile(oFile.Path)
END IF


oder die dateien ausnehmen, die im explorer standardmässig ausgeblendet werden (alle versteckten und alle systemdateien):

IF (oFile.Attributes AND 4)+(oFile.Attributes AND 2)=0 THEN
	oFSO.DeleteFile(oFile.Path)
END IF


Antwort 7 von sandar

Zitat:
folgendes gilt für Javascript, aber ich glaube, die eigenschaften sind in VBS die selben:

ja, es ist ja weder jscript, noch vbscript, sondern das filesystemobject.

Antwort 8 von sandar

Für Dich würde das bedeuten:
...
if not oFile.attributes = 2 then
...

das stimmt leider nicht. die attributwerte werden ja aufaddiert. dh. eine versteckte datei hat meist noch mehr eigenschaften, als nur versteckt. zb. versteckt und archiv = 2 + 32 =34

Antwort 9 von birgitte

liebe Leute, vielen Dank für eure weiteren guten Tipps

mfg
reiner

Ich möchte kostenlos eine Frage an die Mitglieder stellen:


Ähnliche Themen:


Suche in allen vorhandenen Beiträgen: