-
Gesamte Inhalte
332 -
Registriert seit
-
Letzter Besuch
Beiträge erstellt von notesuser3
-
-
Bitte schön! Habe ich doch gerne gemacht.
Gruß
Notesuser3
-
Damit funktioniert es:
Dim fso
Dim fs
DIM f
Set Fso = CreateObject("Scripting.FileSystemObject")
Set f = fso.GetFolder("C:\Test")
IF f.Files.Count <> 0 Then
for each fs in f.Files
fso.DeleteFile fs, true
NEXT
END IF
Lege Dir ein Paar Dateien in einem Ordner C:\Test an .
Und führe das Skript aus.
Danach musst du die Codeteile nur noch in deinem Skript verbauen.
Gruß
Notesuser3
-
Hab das jetzt noch so ausprobiert:
Dim Path
Dim Value
Dim WshShell
Dim FSO
Set WshShell = CreateObject("Wscript.Shell")
Path = "HKEY_CURRENT_USER\Software\Microsoft\Office\11.0\Outlook\Security\OutlookSecureTempFolder"
Value = WshShell.RegRead(Path)
Set FSO = CreateObject("Scripting.FileSystemObject")
FSO.DeleteFolder (Value, true)
die letzte Zeile darf keine Klammer enthalten (Beim Aufrufen einer Unterroutine dürfen keine Klammern verwendet werden).
Also, Klammer weg - Ergebnis:
Zeile 12 - Zeichen 1 - Der Pfad wurde nicht gefunden!
???
Lasse Dir mal die Variable Value in einer MsgBox anzeigen. Was steht darin?
Gruß
Notesuser3
-
Also Du kannst z.B. den Ordner durchlaufen und jede Datei in diesem Ordner löschen.
Dim fso
Dim fs
Set Fso = CreateObject("Scripting.FileSystemObject")
fso.GetFolder(value)
IF fso.Files.Count <> 0 Then
for each fs in fso.Files
fso.DeleteFile(value, true)
NEXT
END IF
So müsste der Code aussehen. Ich habe Ihn jetzt nicht getestet, aber es dürfte der richtig Ansatz sein.
Gruß
Notesuser3
-
Set fso = nothing leert das FSO Objekt. Kann man auch weglassen. Bei längeren Programm kann es aber sinnvoll sein, insbesondere wenn man die Variable vielleicht in anderen Programmteilen wieder verwende möchte und eventuell dann ein anderer Wert drin stehen soll. Ist so eine Angewohnheit aus Access-Zeiten.
Mit fso.DeleteFile DateiName (bei Dir Value?) kann auch eine bestimmte Datei gelöscht werden.
Sicherlich geht es auch mit dem Batch. Aber so wie ich Dich verstanden habe wolltest Du doch eine Lösung für VB-Skript. Außderdem geht es schneller und er Code ist kürzer.
Gruß
Notesuser3
-
Die Batch-Datei löscht sich selbst ;) (Die letzten 3 Zeilen, welche ich zunächst auskommentierte zeigt, was in diese Batch-Datei geschrieben wird)
Danke für deine Infos!
Hier noch das komplette Script so wie ich es bisher habe - funktionsfertig:
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
Dim Path
Dim Value
Dim WshShell
Dim loeschen
Set WshShell = CreateObject("Wscript.Shell")
'Aus Registry auslesen, wo die Temporären Dateien liegen
Path = "HKEY_CURRENT_USER\Software\Microsoft\Office\11.0\Outlook\Security\OutlookSecureTempFolder"
Value = WshShell.RegRead(Path)
'Variable mit Batch-Befehlszeile gefüllt (wird später in eine Batch-Datei geschrieben)
loeschen = "del """ + Value + "*.*"" /q"
'Erstellung der Batch-Datei, welche die Temporären Dateien löscht
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objFile = objFSO.CreateTextFile("c:\temp.bat")
'Füllen der Batch-Datei
objFile.WriteLine "@echo off"
objFile.WriteLine "echo Achtung, die Dateien aus folgendem Verzeichnis werden geloescht:"
objFile.WriteLine "echo."
objFile.WriteLine "echo " + Value
objFile.WriteLine "echo."
objFile.WriteLine "echo Abbrechen mit CTRL+C - weiter mit Enter"
objFile.WriteLine "echo."
objFile.WriteLine "Pause"
objFile.WriteLine "echo."
objFile.WriteLine "echo Bitte warten sie, bis die Dateien geloescht wurden!"
objFile.WriteLine(loeschen)
objFile.WriteLine "echo."
objFile.WriteLine "echo Fertig!"
objFile.WriteLine "echo."
objFile.WriteLine "pause"
objFile.WriteLine "del c:\temp.bat"
objFile.Close
'Erstellte Batch-Datei ausführen
WshShell.Run "c:\temp.bat"
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
Vielleicht bringt es ja jemand Anderen auch weiter!
Noch zu bemerken:
Die Batch-Datei muss nach dem Füllen wieder geschlossen werden, da sie sonst nicht ausgeführt werden kann!
Statt mit der Bat-Datei müsste es aber auch wie folgt funktionieren:
DIM fso
Set fso = CreateObject("Scripting.FileSystemObject")
fso.DeleteFolder(value, true)
Set fso = nothing
Gruß
Notesuser3
-
Hast Du gar keinen Ansatz für das Löschen unter VB-Skript geschrieben, oder fehlt ein Teil des Codes?
Um eine Datei zu löschen brauchst Du folgendes:
Set fso = CreateObject("Scripting.FileSystemObject")
fso.DeleteFile dateiName, erzwingen
DateiName ist klar, wobei natürlich der Pfad mit angegeben werden muss, den liest Du ja aus der Registry aus. Erzwingen ist ein Optionaler Parameter, entweder True oder False.
Damit sollte es funktionieren.
Falls Du noch fragen hast, melde Dich.
Gruß
NotesUser3
-
Um z.B. die Bat auszuführen hilft Dir folgendes:
DIM intReturnCode
DIM ProgrammPath
ProgrammPath = "C:\Ordern"
programmFile = "löschen.bat"
Set WshShell = WScript.CreateObject("Wscript.Shell")
intReturnCode = WshShell.Run(programmPath & programmFile)
Die Syntax für WshShell.Run lautet normal:
rückgabeWert = WshShell.Run(Befehl, fensterTyp, warten)
Genaueres findest unter:
Gruß
Notesuser3
-
Danke, das habe ich gesucht.
Gruß
Notesuser3
-
Danke für den Tipp, ich werde mir das mal näher ansehen.
Gruß
Notesuser3
-
Habe gedacht, dass kann man aus der Überschrift ableiten. ;)
Aber trotzdem Danke.
Gruß
Notesuser3
-
Ja, das weiß ich auch. Ich wollte es eben über VBSkript lösen, da es ein Teil von einem größeren Skript ist.
Gruß
Notesuser3
-
if exist %systemdrive%\Ordner ..
[/Quote]
Das funktioniert unter VB-Skript, bzw. Wscript nicht, das habe ich schon probiert.
Gruß
NotesUser3
-
Ich will ein LogFile schreiben lassen in einem bestimmte Ordner der auf dem Systemdrive liegt. Daher möchte ich zunächst das Systemdrive ermitteln, dann wird geprüft ob ein bestimmter Ordner vorhanden ist und dann die Datei angelegt. Falls der Ordner nicht existiert lasse ich ihn anlegen.
Gruß
Marc
-
Guten Tag,
ich möchte mit einem Skript das Systemlaufwerk bzw. den Laufwerksbuchstaben des Systemlaufwerks herausfinden. Hat hierzu jemand einen Ansatz?
Gruß
Notesuser3
-
Hallo Nicole,
ich finde es toll das Du als alleinige Autorin, solche Werke schreibst. Aber nach dem hier im Forum eine kleine Kritik bezüglich der Tiefe deiner Werke besteht, wäre es doch eine Überlegung die Erfahrungen im Board zu sammeln und zu kanalisieren. Insbesondere wenn sogar jemand eigene CBTs ("Manzi") erstellen möchte wäre es doch sinnvoll sich zu zusammen zu schließen. Auch wenn ich mir es lobe vieles als Freeware zu bekommen, so arbeite ich selbst in der IT-Branche und wir erstellen Individualsoftware, die nicht ganz billig ist. Daher bin ich auch bereit für eine gute Anwendung einen gerechten Preis zu zahlen.
Mit freundlichen Grüßen
Notesuser3
-
Da gebe ich euch ja recht. Allerdings hat es ja mal funktioniert. Allerdings wie mir der User eben berichtet, unter Win2000 Rechnern. Jetzt hat er einen Win2000 zu Hause und einen WinXP hier in der Firma. Seit dieser Zeit tritt dieses Problem auf.
Mit freundlichen Grüßen
Notesuser3
-
Hallo Leute,
ein Kollege kam zu mir und berichtet, dass er seinen USB-Stick mit NTFS formatiert hat und seine Daten zwischen Arbeitstelle und Wohung damit transportiert. Von Zeit zu Zeit kommt es vor, dass sein System auf dem Weg zwischen den Stationen irgendwelche Informationen verliert, so dass er zunächst keine Zugriff auf die Dateien auf dem Stick hat. Er muss dann erst den Besitz der Dateien übernehmen bevor er wieder Zugriff auf die Dateien hat. Hat jemand schon mal ähnliche Probleme gehabt und hat vielleicht eine Lösung für das Problem?
Gruß
Notesuser3
-
Hallo Boardadmins, Moderatoren und alle anderen die hier was zu sagen haben,
ich wollte nochmal den Vorschlag vorbringen, einen eigenen Bereich fürs Skripting aufzumachen. Da ich selbst mal wieder mehr Skripte schreiben muss und gelegenlich auf die Hilfe hier im Board angewiesen bin, stelle ich mir jedesmal die Frage in welchem Bereich des Forums ist die Frage am besten aufgehoben. Andererseits kann ich ich die Boardssuche verwenden, allerdings muss ich dann immer über das ganze Board gehen. Es wäre nett, wenn Ihr den Vorschlag mal überdenken könntet.
Ein Anfang wäre vielleicht ein Voting aufzumachen um festzustellen, ob noch mehr User ein Interesse an so einem Bereich haben.
Gruß
Notesuser3
-
Also mit dem MS-Script hat es bis jetzt noch nicht funktioniert, aber mit dem Skript von blub, welches er mir vor wenigen Tagen in einem anderem Threat zur Verfügung gestellt hat, hat es jetzt funktioniert.
Hier der Link zum Original:
Danke blub.
Gruß
Notesuser3
Danke blub
-
Hi an Alle,
ich habe versuche gerade mit folgendem Beispiel Skript von Microsoft MSDN einen Client in die Domäne aufzunehmen, leider klappt es nicht. Ich bekomme zwar einen Return Code 0 der eigentlich für Success steht. Ich starte dann den Computer neu, aber leider ist weder ein Konto in der Domäne angelegt, noch kann ich mich in der Domäne anmelden. (Klar ohne Konto geht es nicht.)
Vielleicht hat jemand damit Erfahrung und kann mir sagen woran es liegt? Ich finde leider keinen Fehler.
Umgebung: WinXP-Clients, Windows2000 Domäne.
Const JOIN_DOMAIN = 1
Const ACCT_CREATE = 2
Const ACCT_DELETE = 4
Const WIN9X_UPGRADE = 16
Const DOMAIN_JOIN_IF_JOINED = 32
Const JOIN_UNSECURE = 64
Const MACHINE_PASSWORD_PASSED = 128
Const DEFERRED_SPN_SET = 256
Const INSTALL_INVOCATION = 262144
strDomain = "firma.de"
strPassword = "password"
strUser = "benutzername"
Set objNetwork = CreateObject("WScript.Network")
strComputer = objNetwork.ComputerName
Set objComputer = _
GetObject("winmgmts:{impersonationLevel=Impersonate}!\\" & _
strComputer & "\root\cimv2:Win32_ComputerSystem.Name='" _
& strComputer & "'")
ReturnValue = objComputer.JoinDomainOrWorkGroup(strDomain, _
strPassword, _
strDomain & "\" & strUser, _
NULL, _
JOIN_DOMAIN + ACCT_CREATE)
Gruß
Notesuser3
-
Ach ja, eine andere Lösung ist bei noch, dass die User zwar zu Hause arbeiten, sie sich über einen VPN-Tunnel in der Firma anmelden und die Daten vom Server nutzen. Damit schränkt sich auch der Backupaufwand ein.
Gruß
Notesuser3
-
Hi,
also wir haben folgende Lösung für solche Probleme:
Mit einem Batch und dem standardmäßigen NTBackup haben wir eine OneClickBackup Lösung entwickelt. Dabei wird zunächst mit Hilfe von NTBackup eine Auswahl festgelegt. Bei der Ausführung des Batch wird auf die Auswahl.bks zugeriffen und die Dateien lokal gesichert. Wie bei jeder Sicherung könnte man noch zwischen Vollsicherung, Inkrement und Differenziell unterscheiden.
Nach dem die Sicherung abgeschlossen ist, kann einfach per Copy und Paste die Datei per VPN über das Netz übertragen werden. Diese etwas umständliche Lösung lässt sich aber auch ganz leicht automatisieren. Insbesondere wenn man für den Datentransfer das FTP-Protokoll nutzen kann, lässt sich die Geschwindigkeit verbessern.
Hierzu müsste per Skript die Datei zunächst mit Winzip komprimiert werden und dann sollte das Skript mit Hilfe eines FTP-Programms die Daten vom Notebook auf den Server übertragen.
Gruß
Notesuser3
-
Ok, ich habe mir die Skripte kurz angesehen, das Problem ist die gehen entweder davon aus, dass ein Computer bereits in der Domäne ist und damit Zugriff auf das LDAP hat, oder sie fügen den Computer der Domäne mit einem Create hinzu, bzw. die Option ist auf verwenden des bereits existierenden Computerkonto eingestellt. Ich möchte aber, dass geprüft wird ob das Konto bereits existiert und wenn ja soll er es nehmen, falls nein soll ein neues angelegt werden.
Gruß
Notesuser3
Dienst auf Remote Server stoppen
in Windows Server Forum
Geschrieben
Man kann das ganze auch mit einem WMI-Skript (vb-Skript) lösen. Kannst Du vielleicht ein paar mehr Informationen hierzu geben. Für was brauchst Du es, wie oft soll der Dienst gestoppt und gestartet werden.
Gruß
Notesuser3