Notepad++ und Kommandozeilenparameter

German support forum

Moderators: Hacker, Stefan2, white

Post Reply
User avatar
dy/dx
Junior Member
Junior Member
Posts: 92
Joined: 2005-03-06, 22:32 UTC
Contact:

Notepad++ und Kommandozeilenparameter

Post by *dy/dx »

Hi,

Ich habe auf notepad++ umgestellt und möchte wie vorher mit notepad das Icon "Notepad" mit Bearbeitung von Kommandozeilenparametern verwenden.

Dazu verwende ich:

Code: Select all

Kommando: D:\usr\apps\npp\notepad++.exe -multiInst
Parameter: ?%N
Startpfad:
Das funktioniert, jedoch nicht, wenn ich eine neue Datei mit Leerzeichen erstellen will. Wenn ich in das Fenster "Kommandozeilenparameter" dann Hello World eingebe, öffnet sich notepad++ mit den Meldungen:

d:\Hello doesn't exist. Create?
d:\World doesn't exist. Create?

Gebe ich es mit Anfürhungszeichen ein ("Hello World") funktioniert es. Allerdings hat es mit notepad auch ohne Anführungszeichen funktioniert und das wäre mir sehr wichtig weil ich die Funktion sehr häufig verwende und die explizite Eingabe der Anführungszeichen mühsam ist.

Kann ich dem Parameter irgendwie sagen, dass alles was ich eingebe automatisch in Anführungszeichen gesetzt werden soll? Bzw. wieso hat es mit notepad funktioniert?

LG
Niki
User avatar
sqa_wizard
Power Member
Power Member
Posts: 3893
Joined: 2003-02-06, 11:41 UTC
Location: Germany

Post by *sqa_wizard »

Kann ich dem Parameter irgendwie sagen, dass alles was ich eingebe automatisch in Anführungszeichen gesetzt werden soll?
Nicht direkt, nur als

Code: Select all

Parameter: ?"%N"
wieso hat es mit notepad funktioniert?
Notepad kann nur eine Datei gleichzeitig öffnen.
Notepad++ kann mehrere Dateien öffnen (Namen getrennt jeweils durch ein Leerzeichen)
=> Hello World => 1. Datei: Hello => 2. Datei: World
#5767 Personal license
flizebogen
Junior Member
Junior Member
Posts: 52
Joined: 2003-06-25, 11:21 UTC

Post by *flizebogen »

Ich habe ein ähnliches Problem. In der Forum Suche habe ich nichts gefunden.

Die Taste F4 ist mit dem Program OpenFile verknüpft. Wenn ich nun mehrere Dateien markiere, die ich gleichzeitig editieren will, dann wird nur die Datei geöffnet, die unter dem aktuellen Cursor steht, also unabhängig von der Markierung.

Ich habe ein kleines Script eingebunden, dass zeigt, das der TC nur die eine Datei als Parameter übergibt.

Gibt es eine Einstellung, die dieses Verhalten beeinflußt?

Ich bin mir ziemlich, dass es auch schon mal mit mehreren Dateien funktioniert hatte.
MrMurphy
Junior Member
Junior Member
Posts: 98
Joined: 2006-05-31, 04:59 UTC

Post by *MrMurphy »

Hallo,

mit F3 oder F4 hat das bei mir noch nie funktioniert.

Ich kann mehrere Dateien markieren, dann mit der rechten Mousetaste anklicken und entweder "Öffnen" oder "Bearbeiten" auswählen. Dann werden alle Dateien gleichzeitig mit bzw. in dem ensprechend verknüpften Probramm (bei "Öffnen" z. B nach Dateiendung) geöffnet.

Vielleicht gibt es ja auch ein entsprechendes Plug-In, das ich (noch) nicht kenne.

Gruss

MrMurphy
flizebogen
Junior Member
Junior Member
Posts: 52
Joined: 2003-06-25, 11:21 UTC

Post by *flizebogen »

Ich habe es eben getestet:

Beta 18 - 32 Bit: Markierte Dokumente werden dem Editor übergeben
Beta 18 - 64 Bit: Es wird nur das Dokument geöffnet, das unter dem Cursor ist

Beta 25 - Beide Versionen: Es wird nur das Dokument geöffnet, das unter dem Cursor ist

8.0 RTM - wie beta 25

Weitere Versionen habe ich nicht.
User avatar
karlchen
Power Member
Power Member
Posts: 4605
Joined: 2003-02-06, 22:23 UTC
Location: Germany

Post by *karlchen »

Hallo, Flizebogen.

Die Taste <F4> ist auch laut T.C. Hilfe damit vorbelegt, dass sie den Vorgabeeditor genau mit der Datei unterm Cursor aufruft.

Wenn <F4> in bestimmten T.C. Versionen was anderes getan hat, dann hattest du dort vielleicht die Taste <F4> umbelegt.

Ansonsten kann man sich auch einen Button in der T.C. Buttonbar anlegen, der den angegebenen Editor mit allen markierten Dateien aufruft.

Wenn im Parameterfeld irgendwas mit %N auftaucht, dann wird genau nur ein Dateiname weitergegeben.
Wenn man in das Parameterfeld %S setzt, übergibt Total Commander alle markierten Dateinamen.
Das funktioniert auch mit Total Commander 8.0 final 32-bit.

Hier die passende Buttondefinition von meinem Rechner, der allerdings statt Notepad++ gEdit benutzt.

Code: Select all

TOTALCMD#BAR#DATA
/usr/bin/gedit
%S
%COMMANDER_PATH%\..\TC_Addons\tcicons\gedit-icon.ico
Gedit


-1
Grüße,
Karl
MX Linux 21.3 64-bit xfce, Total Commander 11.50 64-bit
The people of Alderaan keep on bravely fighting back the clone warriors sent out by the unscrupulous Sith Lord Palpatine.
The Prophet's Song
flizebogen
Junior Member
Junior Member
Posts: 52
Joined: 2003-06-25, 11:21 UTC

Post by *flizebogen »

Hallo Karlchen,

Das gewünschte Verhalten ist in v.7.57a implementiert. Soweit ich mich erinnern kann auch in vorherigen Versionen. Da diese Version noch nicht so alt ist, gibt es nur 2 Möglichkeiten:

1. Es ist ein Fehler (was ich glaube, da Beta 18 32Bit noch so funktionierte)
2. Es ist eine Veränderungen, die gewünscht ist (entsprechende Hinweise im Changelog sind mir nicht aufgefallen)

Eine Button Bar will ich ehrlichgesagt nicht verwenden, die Verwendung der Maus im Commander scheint mir doch zu ineffizient.
User avatar
karlchen
Power Member
Power Member
Posts: 4605
Joined: 2003-02-06, 22:23 UTC
Location: Germany

Post by *karlchen »

Hallo, Flizebogen.

Dass <F4> im Total Commander 7.57a alle markierten Dateien in einem mehrdokumentenfähigen Editor öffnet, kann ich nicht bestätigen.
Habe im Total Commander 7.57a den Editor für <F4> im Konfigurationsdialog auf %COMMANDER_PATH%\..\ProgrammersNotepad\pn.exe geändert. Das ist Programmer's Notepad und mehrdokumentenfähig.

Habe 4 Textdateien markiert und den Cursor auf die 5. Datei darunter gesetzt, nicht markiert. <F4> öffnet genau diese 5. Datei. Die vier markierten interessieren ihn überhaupt nicht.
Genauer gesagt, wie auch Process Hacker belegt, startet T.C. den Editor und übergibt ihm genau nur den einen voll qualifizierten Dateinamen, keine Liste.

Mit meinem Button funktioniert das ganze tadellos. Es werden genau die 4 markierten Dateien geöffnet.

Code: Select all

TOTALCMD#BAR#DATA
%COMMANDER_PATH%\..\ProgrammersNotepad\pn.exe
? %S
%COMMANDER_PATH%\..\ProgrammersNotepad\pn.exe
Programmer's Notepad


-1
Darum würde mich jetzt interessieren, wie genau der wincmd.ini Parameter Editor des Total Commanders 7.57a bei dir belegt ist. Hier lautet der Eintrag, wie bereits erwähnt

Code: Select all

Editor=%COMMANDER_PATH%\..\ProgrammersNotepad\pn.exe
Habe das Ganze auch noch mit Total Commander 8.0 final (32-bit) ausprobiert. Erwartungsgemäß dasselbe Verhalten wie beim Total Commander 7.57a.

Grüße,
Karl
--
Windows 7 Enterprise SP1, 32-bit
Total Commander 7.57a
Total Commander 8.0 32-bit (final)
MX Linux 21.3 64-bit xfce, Total Commander 11.50 64-bit
The people of Alderaan keep on bravely fighting back the clone warriors sent out by the unscrupulous Sith Lord Palpatine.
The Prophet's Song
User avatar
karlchen
Power Member
Power Member
Posts: 4605
Joined: 2003-02-06, 22:23 UTC
Location: Germany

Post by *karlchen »

Hallo, Flizebogen.

In meinem Total Commander 8.0 32-bit (final) öffnet der Druck auf <F4> jetzt die markierten Dateien im Editor. :wink:

Das ließ sich aber nur mit folgendem Kniff bewerkstelligen:
  • Datei usercmd.ini enthält folgendes benutzerdefinierte Kommando

    Code: Select all

    [em_editmarked]
    button="%COMMANDER_PATH%\..\ProgrammersNotepad\pn.exe"
    param=%S
    cmd="%COMMANDER_PATH%\..\ProgrammersNotepad\pn.exe"
    iconic=1
    Dieses Kommando erledigt die eigentliche Arbeit.
  • Dann habe ich in der Konfiguration unter Diverses der Funktionstaste <F4> dieses benutzerdefinierte Kommando em_editmarked zugewiesen.
  • Wirkung:
    Damit ist die ursprüngliche interne Belegung der Taste <F4> überschrieben mit der neuen Belegung.
    Markiert man keine Datei, öffnet <F4> wie erwartet die Datei unterm Cursor im Editor.
    Markiert man mehrere Dateien, öffnet <F4> die markierten Dateien im Editor.
Grüße,
Karl
MX Linux 21.3 64-bit xfce, Total Commander 11.50 64-bit
The people of Alderaan keep on bravely fighting back the clone warriors sent out by the unscrupulous Sith Lord Palpatine.
The Prophet's Song
flizebogen
Junior Member
Junior Member
Posts: 52
Joined: 2003-06-25, 11:21 UTC

Post by *flizebogen »

Hallo Karlchen,

welche Einträge in der INI für das Verhalten verantwortlich ist weiss ich ehrlichgesagt nicht. Die Taste F4 habe ich definitiv nicht umbelegt.

Ich hatte den Editor Eintrag in der INI in der Zwischenzeit auch verändert, um zu sehen, welche Werte übergeben werden. Die Ergebnisse hatte ich oben beschrieben.

Sowohl OpenFileTc, als auch SciTE (als Editor für Textdateien) sind so konfiguriert, dass bis zu 100 Dateien als Tabs geöffnet werden könne, und das auch gleichzeitig.

Hier die komplette Configuration Section, die anderen Sections erscheinen mir das Verhalten des Editors nicht passend zu sein.

Code: Select all

[Configuration]
1hourdif=0
Aligned extension=1
AltSearch=2
Autotreechange=0
CompareCaseSensitive=1
CompareVertical=0
CopyComments=6
CountMarked=1
CountSpace=1
DirTabLimit=32
DirTabOptions=1851
Editor=%COMMANDER_PATH%\TC_Plugins\Lister\OpenFile\OpenFileTC.exe
ExplorerForCopy=0
FileTipWindows=1
firstmnu=1319
FirstTime=0
FirstTimeUnpack=0
FirstTimeZIP=0
IconOverlays=1
IconsInMenus=3
IconsInThread=1
IconsOnNet=0
IconsSpecialFolders=1
InstallDir=C:\Programme\Wincmd
languageini=wcmd_deu.lng
lastmd5=1
listname=c:\ftplist.txt
Mainmenu=wcmd_deu.mnu
MarkDirectories=1
NewStyleProgress=0
OldStyleTree=1
onlyonce=0
PanelsVertical=0
Pluginbasedir=%COMMANDER_PATH%\TC_Plugins
RedirectSection=0
1RenameSelOnlyName=1
ResolutionSpecific=0
SaveCommands=1
Savepanels=1
Savepath=0
ShowCentury=1
ShowCopyOptions=1
ShowEXEandLNKicons=2
ShowHiddenSystem=1
Showicons=2
ShowParentDirInRoot=0
SizeFooter=1
SizeStyle=0
Small83Names=1
SortDirsByName=1
SortUpper=2
SoundDelay=-10
SpeedLimit=30.0
StartupScreen=0
SyncButtons=61
SyncFlags=14
test=231
ThreadFindFirst=1
Tips=3
TrayIcon=0
UnicodeListWarn=0
UseIniInProgramDir=1
UseLongNames=1
UseRightButton=1
UseTrash=0
VersionInOverwrite=1
Viewer=none
Viewertype=0
Win32TipWindows=0
Win95Delete=0
SeparateTree=0
CompareIgnoreRepSpace=1
CompareIgnoreRepeatedLines=1
QuickSearchAutoFilter=0
User avatar
karlchen
Power Member
Power Member
Posts: 4605
Joined: 2003-02-06, 22:23 UTC
Location: Germany

Post by *karlchen »

Hello, Flizebogen.

Der einzig relevante Parameter in dem von dir geposteten Abschnitt ist
Editor=%COMMANDER_PATH%\TC_Plugins\Lister\OpenFile\OpenFileTC.exe
Es gibt aber auch keinen Schalter in der ganzen wincmd.ini, der einstellt, "Editor <F4> lädt nur Datei unterm Cursor" oder "Editor <F4> lädt alle markierten Dateien".

Ich schaue mal, ob die Doku zu OpenFileTC was darüber sagt, dass OpenFileTC selbst irgendwie dieses Kunststück bewerkstelligen kann.

Ansonsten warte ich einfach mal ab, ob jemand anderes bestätigen kann, dass Total Commander bis 7.57a beim Druck auf <F4> alle markierten Dateien in einen Editor laden konnte (ohne dass der von mir beschriebene Kniff verwendet wurde) und dass diese Fähigkeit in späteren T.C. 8.0 beta Versionen verloren gegangen ist.

Vielleicht habe ich da ja etwas verpaßt. Sowas soll schon vorgekommen sein.

Grüße,
Karl
MX Linux 21.3 64-bit xfce, Total Commander 11.50 64-bit
The people of Alderaan keep on bravely fighting back the clone warriors sent out by the unscrupulous Sith Lord Palpatine.
The Prophet's Song
flizebogen
Junior Member
Junior Member
Posts: 52
Joined: 2003-06-25, 11:21 UTC

Post by *flizebogen »

Hallo Karlchen,

Ich gehe mal davon aus, dass Herr Ghisler den Post liest. Unabhängig davon, welches Verhalten nun in Zukunft verfügbar ist, habe ich deinen Vorschlag umgesetzt.

Es funktioniert nun wie gewünscht. Damit bin ich auch bie Updates auf der sicheren Seite.

Vielen Dank
User avatar
ghisler(Author)
Site Admin
Site Admin
Posts: 50625
Joined: 2003-02-04, 09:46 UTC
Location: Switzerland
Contact:

Post by *ghisler(Author) »

OpenFileTC.exe scheint ein Programm zu sein, das irgendwie die markierten Dateien aus TC auszulesen versucht, und diese dann öffnet. TC übergibt bei F4 jedenfalls immer nur die akuelle Datei. Sie müssen sich an den Entwickler von OpenFileTC.exe wenden wegen eines Updates.
Author of Total Commander
https://www.ghisler.com
User avatar
karlchen
Power Member
Power Member
Posts: 4605
Joined: 2003-02-06, 22:23 UTC
Location: Germany

Post by *karlchen »

Hallo, Flizebogen.

Habe gerade mal - mit mäßigem Erfolg - OpenFileTC 2.0.1.74 (beta) zusammen mit Total Commander 8.0 32-bit ausprobiert. Das Lustige ist, dass OpenFileTC für die Taste <F4> ein benutzerdefiniertes Kommando anlegt (siehe Datei usercmd.ini) und der Taste <F4> zuweist. (Datei wincmd.ini Abschnitt [Shortcuts])

Nachtrag:
Die Lektüre der verfügbaren History hat folgenden interessanten Hinweis ergeben:
Version 1.9 (April 12, 2010) (release after long silence)
Fixed. An error fixed then editor sometimes may open not all list of selected files.
Vielleicht lohnt sich ein OpenFileTC Update, wenn noch OpenFileTC 1.8c im Einsatz sein sollte. - Hm, wird jedoch nur 1.8c und 2.0.1.74 beta angeboten.

Grüße,
Karl
MX Linux 21.3 64-bit xfce, Total Commander 11.50 64-bit
The people of Alderaan keep on bravely fighting back the clone warriors sent out by the unscrupulous Sith Lord Palpatine.
The Prophet's Song
flizebogen
Junior Member
Junior Member
Posts: 52
Joined: 2003-06-25, 11:21 UTC

Post by *flizebogen »

Hallo Karlchen,

vielen Dank für die Infos. Ich hatte der Programm von totalcmd.net und immer mal wieder nach Updates geschaut, da ist aber 1.8c die letzte Version, die ich auch verwende. Auf die Idee auf der Homepage nachzuschauen bin ich nicht gekommen. Ich werde die neue Version auf jeden Fall ausprobieren.

Vielleicht hat die alte Version ja auch schon die angesprochenen Anpassungen gemacht. Da ich für die tägliche Arbeit nicht mit Admin Rechten arbeite und die Konfigs im Programm Verzeichnis liegen, konnte das Tool die Anpassungen nie vornehmen.
Post Reply