wenn ich mir in der Buttonbar einen Button erstelle, der folgende Parameter hat, bekomme ich den Parameter %N bei Dateien mit Leerzeichen nicht richtig an das externe Script übergeben:
Kommando: "C:\Program Files(x86)\totalcmd\Autoit\AutoIt3.exe" "c:\Program Files(x86)\totalcmd\cmd_line_show.au3"
Parameter: "1. Parameter" "%P" "%N" "%T" "%M" "6. Parameter"
Die Parameter sind gerade wegen der Leerzeichenproblematik in Anführungszeichen eigeschlossen. Das das eigenlich ok ist, sieht man ja schon an Parameter 2, der einen Pfad mit Leerzeichen enthält und korrekt durch die Anführungszeichen übergeben wird.
Hat die aktuelle Datei (umrandet durch die gestricheltete Box) kein Leerzeichen (Bsp. cmd_line_show.au3) kommt folgendes Ergebnis der Parameterübergabe:
Code: Select all
Debug Info
$cmdLine[1] = 1. Parameter
$cmdLine[2] = c:\Program Files(x86)\totalcmd\
$cmdLine[3] = cmd_line_show.au3
$cmdLine[4] = c:\Program Files(x86)\totalcmd\
$cmdLine[5] =
$cmdLine[6] = 6. Parameter
Code: Select all
Debug Info
$cmdLine[1] = 1. Parameter
$cmdLine[2] = c:\Program Files(x86)\totalcmd\
$cmdLine[3] = cmd
$cmdLine[4] = line
$cmdLine[5] = show.au3
$cmdLine[6] = c:\Program Files(x86)\totalcmd\
$cmdLine[7] =
$cmdLine[8] = 6. Parameter
"1. Parameter" "%P" ""%N"" "%T" "%M" "6. Parameter"
Ergebnis:
Code: Select all
Debug Info
$cmdLine[1] = 1. Parameter
$cmdLine[2] = c:\Program Files(x86)\totalcmd\
$cmdLine[3] = cmd line show.au3"
$cmdLine[4] = c:\Program Files(x86)\totalcmd\
$cmdLine[5] =
$cmdLine[6] = 6. Parameter
Autoit Script zur Anzeige der Cmd Parameter:
Code: Select all
#include <debug.au3>
GLOBAL $dummy = ''
Global $i
_DebugSetup("Debug Window")
for $i = 1 TO $cmdLine[0]
$dummy = $dummy & '$cmdLine[' & $i & '] = ' & $cmdLine[$i] & @CRLF
next
_DebugOut('Debug Info' & @CRLF & _
$dummy _
)