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

Systemvariable in VBscript integrieren

Frage Entwicklung VB for Applications

Mitglied: RetroDude

RetroDude (Level 1) - Jetzt verbinden

04.06.2010 um 16:26 Uhr, 5604 Aufrufe, 6 Kommentare

Hallo. Ich möchte mit folgendem Script beim Login eines Users einen Ordner in seinem Profil löschen. Dies möchte ich mit der %Username% Variable im Dateipfad tun. Ich schaffe es nicht dieses Objekt in meinen Script zu integrieren. Kann mir da mal einer unter die Arme greifen? Danke!


set WshShell = WScript.CreateObject("WScript.Shell")
UserName = WshShell.ExpandEnvironmentStrings("%Username%")

Dim fso

Set fso = CreateObject("Scripting.FileSystemObject")


Delete C:\Documents and Settings\%Username%\Application Data\Programm\Ordner\Cache
Wscript.Quit

Sub Delete( Strfolder)
On Error Resume Next
Dim Folder
Set Folder = fso.GetFolder(StrFolder)

For Each SubFolder in Folder.SubFolders
Delete SubFolder
If Folder.Attributes And 1 Then
Folder.Attributes = Folder.Attributes - 1
end if
SubFolder.Delete
Next

For Each File in Folder.Files
If File.Attributes And 1 Then
File.Attributes = File.Attributes - 1
End If
File.Delete
Next
End Sub
Mitglied: Karo
04.06.2010 um 16:36 Uhr
statt "Delete .....'

FSO.DeleteFolder("C:\Documents and Settings\" & Username & "\Application Data\Programm\Ordner\Cache")

Karo
Bitte warten ..
Mitglied: bastla
04.06.2010 um 18:13 Uhr
... und noch als Hinweis: Anstelle des Zusammensetzen des Pfades über %USERNAME% würde sich eigentlich %APPDATA% anbieten (oder zumindest %USERPROFILE%) ....

Eine Übersicht über die zur Verfügung stehenden Variablen lässt sich von der Kommandozeile mit dem Befehl "set" aufrufen.

Grüße
bastla
Bitte warten ..
Mitglied: RetroDude
08.06.2010 um 17:06 Uhr
Hallo Zusammen

Habe es folgendermassen gemacht:

Set fso = CreateObject("Scripting.FileSystemObject")
strLeft = "C:\Documents and Settings\"
strRight = "\Application Data\Applikation\Cache"

Delete strLeft& UserName& strRight

Habe den String einfach geteilt und korrekt übergeben. Habt ihr noch Verbessrungsvorschläge? Die Setvariablen sind mir schon bekannt , wieso würdest Du das denn mit %Appdata% machen Bastla?

Danke und Gruss

retrodude
Bitte warten ..
Mitglied: bastla
08.06.2010 um 17:17 Uhr
Hallo RetroDude!

Die Verwendung von Systemvariablen macht das Script flexibler (sollte so unter verschiedenen BS bzw Sprachen funktionieren):
01.
Set ws = CreateObject("WScript.Shell") 
02.
AppData = ws.ExpandEnvironmentStrings("%APPDATA%")
Grüße
bastla
Bitte warten ..
Mitglied: RetroDude
09.06.2010 um 08:46 Uhr
Hallo

Du meinst wohl, man hätte den String noch etwas einfacher gestalten können gell? Danke für den Input. Deine Antworten sind immer sehr kompetent und treffsicher.

Gruss
retrodude
Bitte warten ..
Mitglied: bastla
09.06.2010 um 10:23 Uhr
Hallo RetroDude!
strLeft = "C:\Documents and Settings\"
Dieser Teil des Pfades könnte ja auch "C:\Dokumente und Einstellungen\" oder "C:\Users\" lauten - was Dein Script aber gar nicht wissen muss, wenn der (gesamte) Pfad vom System geliefert wird ...

Grüße
basla
Bitte warten ..
Neuester Wissensbeitrag
Ähnliche Inhalte
Entwicklung
gelöst Get ip from external txt file and use in vbscript (5)

Frage von thankusomuch zum Thema Entwicklung ...

VB for Applications
gelöst Vbscript bestimmte Zeile ungeachtet der Nummerierung löschen (4)

Frage von aletri zum Thema VB for Applications ...

Heiß diskutierte Inhalte
Windows Userverwaltung
Ausgeschiedene Mitarbeiter im Unternehmen - was tun mit den AD Konten? (33)

Frage von patz223 zum Thema Windows Userverwaltung ...

LAN, WAN, Wireless
FritzBox, zwei Server, verschiedene Netze (21)

Frage von DavidGl zum Thema LAN, WAN, Wireless ...

Viren und Trojaner
Aufgepasst: Neue Ransomware Goldeneye verbreitet sich rasant (20)

Link von Penny.Cilin zum Thema Viren und Trojaner ...