Ich möchte mit Hilfe des Programms CMD.exe ein Verzeichnis aller Ordner unterhalb eines vorgegebenen Startordners erstellen.
Die Ausgabe soll in das ClipBoard gestellt, in eine Textdatei kopiert und weiterverarbeitet werden.
Mit dem nachstehenden Programm wird mir zwar die DOS Shell angezeigt, aber der Parameter "Parm$" nicht übergeben.
Gebe ich ihn per Hand ein und schließe das DOS Shell Fenster, wird der Rest des Programms korrekt ausgeführt.
(Windows 7 SP 1 x64 / PB 5.31)
Was mache ich falsch? Kann mir jemand weiterhelfen?
Vorab schon mal vielen Dank!
RolloVanOyten
Code: Alles auswählen
; (1) Variablen für die DOS Shell
Prog$ = "C:\Windows\System32\cmd.exe"
Ordner$ = "F:\Akten\X_HVO"
Parm$ = " DIR /S /B /AD " + Ordner$ + " | clip"
; (2) CMD.exe erstellt ein DirVerz und stellt es ins ClipBoard.
dv = RunProgram (Prog$, Parm$, Ordner$, #PB_Program_Open)
If IsProgram(dv)
WaitProgram(dv)
KillProgram(dv)
CloseProgram(dv)
Else
Debug "Fehler " + Str(dv)
EndIf
; (3) Inhalt des ClipBoards in eine Textdatei schreiben.
If CreateFile(1, "D:\Work\AlleDirs.txt")
WriteString(1, GetClipboardText(), #PB_Ascii)
CloseFile (1)
EndIf
End