VBScript Dateiattribute ändern (Datei kopieren)
Hallo *,
ich habe eine Frage zu einem VBScript.
Ich wollte eine/tausende Datei(en) kopieren und deren Attribute sollen je nach Parameter erhalten oder nicht erhalten bleiben.
Zu meiner Frage, ich lese in meinem Script die Dateiattribute aus (Nur Lesen, Versteckt, System, ...) und speichere in variablen - soweit so gut.
Wenn ich aber die Datei mittels
MyFSO_New.CopyFile filefrom, fileto
kopiere und anschließend die dateiatt. der neuen datei gleich der alten setzen will stoße ich auf das problem, dass das nicht funktioniert.
Hat das jemand von euch schoneinmal gemacht?
Ich benutze das FSO und folgende Zeile zum auslesen eines Attributes
If MyFSO.GetFile(file).Attributes AND 2 Then
hidden = true
End If
Zum setzen wollte ich folgendes verwenden, aber da ist der Fehler "er" setzt mir die attribute nicht:
If hidden then
MyFSO.GetFile(file).Attributes = MyFSO.GetFile(file).Attributes AND 2
Else
MyFSO.GetFile(file).Attributes = MyFSO.GetFile(file).Attributes OR 2
End If
Kann mir jemand helfen?
Vielen Dank!!
Gruß Korn
p.s.: ich möchte nicht so gerne attrib.exe benutzen
ich habe eine Frage zu einem VBScript.
Ich wollte eine/tausende Datei(en) kopieren und deren Attribute sollen je nach Parameter erhalten oder nicht erhalten bleiben.
Zu meiner Frage, ich lese in meinem Script die Dateiattribute aus (Nur Lesen, Versteckt, System, ...) und speichere in variablen - soweit so gut.
Wenn ich aber die Datei mittels
MyFSO_New.CopyFile filefrom, fileto
kopiere und anschließend die dateiatt. der neuen datei gleich der alten setzen will stoße ich auf das problem, dass das nicht funktioniert.
Hat das jemand von euch schoneinmal gemacht?
Ich benutze das FSO und folgende Zeile zum auslesen eines Attributes
If MyFSO.GetFile(file).Attributes AND 2 Then
hidden = true
End If
Zum setzen wollte ich folgendes verwenden, aber da ist der Fehler "er" setzt mir die attribute nicht:
If hidden then
MyFSO.GetFile(file).Attributes = MyFSO.GetFile(file).Attributes AND 2
Else
MyFSO.GetFile(file).Attributes = MyFSO.GetFile(file).Attributes OR 2
End If
Kann mir jemand helfen?
Vielen Dank!!
Gruß Korn
p.s.: ich möchte nicht so gerne attrib.exe benutzen
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 39104
Url: https://administrator.de/forum/vbscript-dateiattribute-aendern-datei-kopieren-39104.html
Ausgedruckt am: 21.04.2025 um 19:04 Uhr
2 Kommentare
Neuester Kommentar
Moin Korn117,
mach es ein bisschen lesbarer.
HTH Biber
mach es ein bisschen lesbarer.
' CopyWithAttr.vbs [ungetestete Skizze]
CONST F_ATTR_HIDDEN = 2
CONST F_ATTR_STANDARD = 32 ' Normal ist nur Attribut Archiv
Set MyFSO = CreateObject("Scripting.FileSystemObject")
'File="x:\\testhidden.txt"
set oFS=MyFSO.GetFile(file) ' obj File Source
If oFS.Attributes AND F_ATTR_HIDDEN Then
wscript.echo " hidden = true "
hidden = true
End If
oFS.Copy("Y:\\testhiddenClone.txt")
Set oFT =MyFSO.GetFile("Y:\\testhiddenClone.txt") ' obj File Target
If hidden then
oFT.Attributes = F_ATTR_STANDARD + F_ATTR_HIDDEN
' oder simpler: oFT.Attributes = oFS.Attributes
Else
oFT.Attributes = F_ATTR_STANDARD
End If
HTH Biber