Über einen Button in der Buttonbar werden das aktuelle Verzeichnis (%P) und das Fenster gegenüber (%T) als Parameter an ein Python Skript übergeben.
Dabei wurde folgendes beobachtet:
- Bei Pfaden die kein Leerzeichen enthalten funktioniert es.
Mit %p und %t funktioniert es auch.
Wenn die Parameter an eine Batchdatei übergeben werden funktioniert es. (%1 bzw %~1)
Benutzt man "%P %T erkennt Python das als ein einzelnes langes Argument.
Zum nachvollziehen:
- Ordner 1: d:\Totalcmd\Misc\Scripts\Python\Test 1 2 3\
Ordner 2: d:\Totalcmd\Misc\Scripts\Python\Test 4 5 6\
Code: Select all
['test.py', 'D:\\Totalcmd\\Misc\\Scripts\\Python\\', 'e:\\Downloads\\']
1: D:\Totalcmd\Misc\Scripts\Python\
2: e:\Downloads\
Output mit "%P" "%T" (Leerzeichen im Pfad)
Code: Select all
['test.py', 'D:\\Totalcmd\\Misc\\Scripts\\Python\\Test 1 2 3" D:\\Totalcmd\\Misc
\\Scripts\\Python\\Test', '4', '5', '6"']
1: D:\Totalcmd\Misc\Scripts\Python\Test 1 2 3" D:\Totalcmd\Misc\Scripts\Python\Test
2: 4
3: 5
4: 6"
Python code
Code: Select all
import sys
print(len(sys.argv))
print(sys.argv)
arg1=sys.argv[1]
arg2=sys.argv[2]
for x in range(1, len(sys.argv)):
print('{}:\t{}'.format(x,sys.argv[x]))
Code: Select all
TOTALCMD#BAR#DATA
cmd /k python test.py
%P %T
WCMICON2.DLL,65
totalcmd2python
%COMMANDER_PATH%\Misc\Scripts\Python\
Edit1: gemeint war "%P %T statt "%P %N