PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : VBSCript problem


Unregistered
2003-04-16, 08:35:46
HI ist es mölgich mit VBScript Dateien umzubennen??? Ich finde darüber rein gar nichts...

stabilo_boss13
2003-04-16, 08:43:28
Nein!
In VBS existiert kein Befehl, um Dateien umzubenennen.
Aber vielleicht hilft dir das Script auf dieser Seite:
http://www.henrik-reimers.de/vdub/willkom.htm

Unregistered
2003-04-16, 09:20:59
jo vielleicht. thx

grakaman
2003-04-16, 20:29:05
Ja, aber man kann ja in VBS auf die Shell zugreifen und dann die Dateien umbenennen.

MfG

Unregistered
2003-04-17, 09:44:38
hab das mal so gemacht:

Set ws = WScript.CreateObject("WScript.Shell")
MSGString = "ren " & lckfile &" " & ulcfile
Wscript.Echo MSGString
Ret = ws.Run (MSGString,0,true)

nur kommt immer : System kann die angegeben Datei nicht finden.

lckfile ist eine variable mit der verzeichnis und dateiangabe. ulcfile ist nur eine datei

Unregistered
2003-04-17, 10:45:48
Originally posted by Unregistered
hab das mal so gemacht:

Set ws = WScript.CreateObject("WScript.Shell")
MSGString = "ren " & lckfile &" " & ulcfile
Wscript.Echo MSGString
Ret = ws.Run (MSGString,0,true)

nur kommt immer : System kann die angegeben Datei nicht finden.

lckfile ist eine variable mit der verzeichnis und dateiangabe. ulcfile ist nur eine datei Da stecken noch 2 kleine Fehler drin:

1. Du kannst mit WScript.Shell keine internen Befehle der Shell starten. Del, Ren, Copy usw. funktionieren nicht.
Du musst das mit Hilfe des Befehlszeileninterpreters starten:

MSGString = "cmd.exe /c ren " & lckfile &" " & ulcfile

Falls das auch auf nicht NT-basierenden Systemen funktioneren soll, muss es so heissen:

MSGString = "command.com /c ren " & lckfile &" " & ulcfile


2. Dein Code funktioniert nur mit Pfaden und Dateinamen, die keine Leerzeichen enthalten. Deshalb solltest du die Dateinamen in Anführungszeichen (Chr(34)) setzen:

MSGString = "cmd.exe /c ren " & Chr(34) & lckfile & Chr(34) & " " & Chr(34) & ulcfile & Chr(34)

stabilo_boss13
2003-04-17, 10:46:36
Sch**** Kekse!

Unregistered
2003-04-17, 11:07:38
unregisterd thx für deine ausführung. bin aber grad selber auch auf ne lösung gestoßen die ist aber noch ein wenig anders :)

Set ws = WScript.CreateObject("WScript.Shell")
MSGString = "%comspec% /k ren "+lckfile+" "+ulcfile
ret= ws.run (MSGString)

//das + kann auch durch ein & ersetzt werden, bei vb script sollte doch aber & eingesetzt werden odeR? Irgendwas habe ich da mal gelesen :)

die option /c ist natürlich noch besser weil er das zusätzliche fenster gleich wieder schliesst :)

nochmal thx