wshshell.run

05/03/2009 - 22:12 von Ralf Dorn | Report spam
Hallo alle zusammen,

ich dreh am Rad. Ich sitze jetzt schon eine Stunden lang hier und bekomme es
einfach nicht gebacken. Wie muss den der Befehl genau lauten?
Habe was gelesen, dass am Anfang und am Ende 3 Anführungszeiuchen stehen
müssen wenn in Ordnernamen leerzeichen vorhanden sind.
Hab jetzt schon zig Kombinationen ausprobiert und suche nun Hilfe bei euch.

In LW steht "d:" drin.

wshshell.run "cmd /K copy """C:\Dokumente und Einstellungen\Ralf\Lokale
Einstellungen\Anwendungsdaten\Microsoft\Outlook\outlook.pst """ & " " & LW
& "\sicherung\outlook\outlook.pst"


Danke für euere Hilfe

Gruß

Ralf Dorn
 

Lesen sie die antworten

#1 Pegasus
05/03/2009 - 22:55 | Warnen spam
"Ralf Dorn" wrote in message
news:
Hallo alle zusammen,

ich dreh am Rad. Ich sitze jetzt schon eine Stunden lang hier und bekomme
es einfach nicht gebacken. Wie muss den der Befehl genau lauten?
Habe was gelesen, dass am Anfang und am Ende 3 Anführungszeiuchen stehen
müssen wenn in Ordnernamen leerzeichen vorhanden sind.
Hab jetzt schon zig Kombinationen ausprobiert und suche nun Hilfe bei
euch.

In LW steht "d:" drin.

wshshell.run "cmd /K copy """C:\Dokumente und Einstellungen\Ralf\Lokale
Einstellungen\Anwendungsdaten\Microsoft\Outlook\outlook.pst """ & " " &
LW & "\sicherung\outlook\outlook.pst"


Danke für euere Hilfe

Gruß

Ralf Dorn



Da gibt's ein paar einfach Tricks, um die Sache verdaulich zu machen.
1. Statt einen ellenlangen "run"-Befehl zu konstruieren, wàre es einfacher,
die Dateinamen als einzelne Strings zu deklarieren. Dies macht auch die
zukünftige Wartung wesentlich einfacher.
2. Statt dich mit doppelten, dreifachen und vierfachen Anführungszeichen
herumzuschlagen, wàre es übersichtlicher, dazu eine Variable zu verwenden.
3. Wenn du den Befehl erst auf dem Bildschirm ausgibst, dann siehst du mit
Leichtigkeit, wo etwas nicht stimmt.
Also etwa so:

LW = "D:"
DQ = """"
sSource = "C:\Dokumente und Einstellungen\Ralf\Lokale
Einstellungen\Anwendungsdaten\Microsoft\Outlook\outlook.pst"
sTarget = LW & "\sicherung\outlook\outlook.pst"
Set oWshShell = CreateObject("WScript.Shell")
WScript.echo "cmd /c copy " & DQ & sSource & DQ & " " & DQ & sTarget & DQ
oWshShell.run "cmd /c copy " & DQ & sSource & DQ & " " & DQ & sTarget & DQ

Wie du siehst, ist jeder Dateiname von doppelten Anführungszeichen
(DQ=Double Quote) umgeben. Jetzt brauchst du nicht mehr Anführungszeichen zu
zàhlen!

Ähnliche fragen