Sind ''Automatisierung'' und ''Macros'' im TC möglich?

German support forum

Moderators: white, Hacker, Stefan2

Pauli
Junior Member
Junior Member
Posts: 24
Joined: 2010-01-13, 08:22 UTC

Sind ''Automatisierung'' und ''Macros'' im TC möglich?

Post by *Pauli »

Hallo,

nutze aktuell noch den Speed Commander, denke aber über einen Wechsel nach, daher die vielleicht etwas ungewohnte Frage:

Ich habe im Speed Commander diverse Dinge / Abläufe in Macros automatisiert. Zum Beispiel mit dem Klick auf ein Icon wird ein Verzeichnis umbenannt, bestimmte File Attribute + Rechte auf den Ordner und alle Unterordner gesetzt. Kann man so etwas auch im TC abbilden?

Ich teste gerade ob der TC den Speed Commander für meine Anforderungen ersetzen kann, daher die vielleicht etwas ungewöhnliche Frage?

Danke, Pauli
User avatar
Peter
Power Member
Power Member
Posts: 2064
Joined: 2003-11-13, 13:40 UTC
Location: Schweiz

Post by *Peter »

So als pauschale Antwort: ja

Da der TC viele eigene Befehle hat, Plugins, Batch und Commands aufrufen kann und man z.B. mit AutoHotkey alles machen kann, sehe ich hier keine grundlegenden Probleme.
TC 10.xx / #266191
Win 10 x64
User avatar
Horst.Epp
Power Member
Power Member
Posts: 6450
Joined: 2003-02-06, 17:36 UTC
Location: Germany

Post by *Horst.Epp »

Der TC hat im Vergleich zum Speed Commander kein eigenes Makro API
aber mit Autohotkey und den vorhandenen Möglichkeiten ist viel machbar.
Beispiele gibts im Wiki
http://www.ghisler.ch/wikide/index.php?title=Automatisierung
Windows 11 Home x64 Version 23H2 (OS Build 22631.3374)
TC 11.03 x64 / x86
Everything 1.5.0.1371a (x64), Everything Toolbar 1.3.2, Listary Pro 6.3.0.69
QAP 11.6.3.2 x64
Pauli
Junior Member
Junior Member
Posts: 24
Joined: 2010-01-13, 08:22 UTC

Post by *Pauli »

OK, vielen Dank. Werde ich mir mal anschauen ob ich damit klar komme und meine Workflows im TC abbilden kann ...

Wenn das klappt wechsle ich zum TC!

Gibt es noch weitere wesentliche Einschränkungen (außer die fehlende Macro API) beim Vergleich von TC und SC? Die Community scheint auf jeden Fall schon mal zu funktionieren ... ;-)

Gruß, Pauli
User avatar
Horst.Epp
Power Member
Power Member
Posts: 6450
Joined: 2003-02-06, 17:36 UTC
Location: Germany

Post by *Horst.Epp »

Pauli wrote:OK, vielen Dank. Werde ich mir mal anschauen ob ich damit klar komme und meine Workflows im TC abbilden kann ...

Wenn das klappt wechsle ich zum TC!

Gibt es noch weitere wesentliche Einschränkungen (außer die fehlende Macro API) beim Vergleich von TC und SC? Die Community scheint auf jeden Fall schon mal zu funktionieren ... ;-)

Gruß, Pauli
Ich bin voreingenommen und hatte auch mal eine Lizens des SC
habe die aber nicht weiter updated.
Die Updates des TC kosten im Gegensatz zum SC nichts.
Der einzige technische Vorteil des SC ist für mich die Makro Schnittstelle,
alles andere ist im TC besser.
Vor allem die grosse Menge an Plugins die kein anderer File Manager aufweisen kann.
Über die Oberfläche streiten sich zwar viele,
die ist mir persönlich aber in einem File Manager egal.
Das beste ist sich selbst ein Bild zu machen und nach den eigenen Kriterien zu entscheiden.
Bei Fragen hat das Forum viele hilfreiche Benutzer die zum Teil auch Plugins beigesteuert haben.
Windows 11 Home x64 Version 23H2 (OS Build 22631.3374)
TC 11.03 x64 / x86
Everything 1.5.0.1371a (x64), Everything Toolbar 1.3.2, Listary Pro 6.3.0.69
QAP 11.6.3.2 x64
Pauli
Junior Member
Junior Member
Posts: 24
Joined: 2010-01-13, 08:22 UTC

Post by *Pauli »

Super + Danke Dir, dann werde ich mir den TC mal nach meinem Gusto hin basteln und schauen ob ich damit klar komme ...
Pauli
Junior Member
Junior Member
Posts: 24
Joined: 2010-01-13, 08:22 UTC

Post by *Pauli »

Hallo,

ich versuche aktuell meine SC Macros durch Batchdateien abzubilden.

Mittlerweile habe ich herausgefunden, dass ich einen Stern vor den Befehl setzen muss damit die Dateioperationen zum Beispiel auch unter Windows 10 im Programm-Ordner laufen. Das ganze sieht zum Beispiel so aus:

Code: Select all

Kommando: *%SystemRoot%\system32\cmd.exe /c %COMMANDER_PATH%\SCRIPTS\MakeDirOriginaldateien.bat
Parameter: %P%N%E
Startpfad: %COMMANDER_PATH%\SCRIPTS\
Ist das soweit TC konform? Sollen die Werte in Anführungszeichen oder macht das der TC an den entsprechenden Stellen automatisch (ist mir irgendwie nicht ganz klar und wird auch hier im Forum unterschiedlich gehandhabt)?

Das aufpoppen des Konsolen-Fensters ist natürlich sehr unschön! Wie kann ich dies denn unterdrücken?

Danke + Gruß, Pauli
User avatar
Dalai
Power Member
Power Member
Posts: 9364
Joined: 2005-01-28, 22:17 UTC
Location: Meiningen (Südthüringen)

Post by *Dalai »

TC setzt Anführungszeichen ausschließlich bei Verwendung von %P%N - in dieser Kombination und Reihenfolge; alle anderen Fälle sind vom Nutzer entsprechend zu bearbeiten. %P%N beinhaltet übrigens schon den kompletten Dateinamen, also auch %E.
Pauli wrote:Das aufpoppen des Konsolen-Fensters ist natürlich sehr unschön! Wie kann ich dies denn unterdrücken?
Da du ja offenbar einen Button anlegst, hakst du einfach "Als Symbol" an, so dass das Kommando minimiert ausgeführt wird.

Grüße
Dalai
#101164 Personal licence
Ryzen 5 2600, 16 GiB RAM, ASUS Prime X370-A, Win7 x64

Plugins: Services2, Startups, CertificateInfo, SignatureInfo, LineBreakInfo - Download-Mirror
Pauli
Junior Member
Junior Member
Posts: 24
Joined: 2010-01-13, 08:22 UTC

Post by *Pauli »

Hi Dalai,

vielen Dank. Den Haken Symbol habe ich ganz übersehen.

Beim Kommando sollte ich auch Anführungszeichen setzen, wenn Leerzeichen im Pfad etc. vorkommen oder nur beim Parameter?

Kann ich nach dem abarbeiten ein Refresh auslösen (F2), denn es dauert ein Moment bis ich die Änderung auch sehe?

Gruß, Pauli
User avatar
Dalai
Power Member
Power Member
Posts: 9364
Joined: 2005-01-28, 22:17 UTC
Location: Meiningen (Südthüringen)

Post by *Dalai »

Pauli wrote:Beim Kommando sollte ich auch Anführungszeichen setzen, wenn Leerzeichen im Pfad etc. vorkommen oder nur beim Parameter?
Beim Kommando selbst macht es keinen Unterschied, solange keine Parameter dort mit enthalten sind (das geht nämlich auch). Ich selbst habe beides in Benutzung, teilweise Buttons mit Quotes, teilweise ohne - beide führen Kommandos aus, die in Pfaden mit Leerzeichen liegen.
Kann ich nach dem abarbeiten ein Refresh auslösen (F2), denn es dauert ein Moment bis ich die Änderung auch sehe?
Vielleicht doch nicht minimiert ausführen lassen, so dass der Fokus vom TC geht und dann wiederkommt, und somit automatisch einen Refresh auslöst? Nein, im Ernst, sicher kann man das machen. Allerdings müsstest du dafür deinen Button in ein benutzerdefiniertes Kommando (em_*) umwandeln, denn nur cm_ und em_ Kommandos lassen sich hintereinanderschalten, nicht aber normale Befehle.

Beispiel für eine solche Verkettung:

Code: Select all

cmSrcLong,cm_SrcByDateTime,cm_RereadSource
Schaltet die Ansicht auf Lang, sortiert nach Datum und liest das Verzeichnis neu ein.

Grüße
Dalai
#101164 Personal licence
Ryzen 5 2600, 16 GiB RAM, ASUS Prime X370-A, Win7 x64

Plugins: Services2, Startups, CertificateInfo, SignatureInfo, LineBreakInfo - Download-Mirror
Pauli
Junior Member
Junior Member
Posts: 24
Joined: 2010-01-13, 08:22 UTC

Post by *Pauli »

Kann ich dann ein benutzerdefiniertes Kommando mit folgender
Kommando-Ziele erstellen:

*%SystemRoot%\system32\cmd.exe /c %COMMANDER_PATH%\SCRIPTS\MakeDirOriginaldateien.bat, cm_RereadSource

oder muss ich den eigentlichen Aufruf als benutzerdefiniertes Kommando em_MakeDirOriginaldateien erstellen und dann ein weiteres was wiederum auf dieses verwaist:

em_MakeDirOriginaldateien, cm_RereadSource

Danke, Pauli
User avatar
Dalai
Power Member
Power Member
Posts: 9364
Joined: 2005-01-28, 22:17 UTC
Location: Meiningen (Südthüringen)

Post by *Dalai »

Letzteres. Allerdings habe ich meine Zweifel, dass das mit der Ausführung als Administrator zusammen funktioniert...

Grüße
Dalai
#101164 Personal licence
Ryzen 5 2600, 16 GiB RAM, ASUS Prime X370-A, Win7 x64

Plugins: Services2, Startups, CertificateInfo, SignatureInfo, LineBreakInfo - Download-Mirror
Pauli
Junior Member
Junior Member
Posts: 24
Joined: 2010-01-13, 08:22 UTC

Post by *Pauli »

Sonst eine Idee wie man so was komfortable umsetzt bzw. das komfortable Verhalten der SC Macros nachbaut?

Wie automatisierst Du Dateioperationen in Bezug auf ausgewählte Verzeichnisse oder Dateien?

Gruß, Pauli
User avatar
Dalai
Power Member
Power Member
Posts: 9364
Joined: 2005-01-28, 22:17 UTC
Location: Meiningen (Südthüringen)

Post by *Dalai »

Nun, es kommt immer darauf an, welche Operationen man auf Dateien/Verzeichnisse anwenden will. Im Zweifel bietet es sich auch an, eine zweite Instanz des TC als Administrator zu öffnen und dort die nötigen Dinge auszuführen. Das geht auch direkt aus dem laufenden TC unter Übergabe der aktiven Verzeichnisse:

Code: Select all

Kommando: *%COMMANDER_EXE%
Parameter: %Z%X "%P" "%T" /N
Insgesamt wende ich aber nicht so häufig Skripte oder sonstige Operationen, die externe Kommandos brauchen, auf eine Auswahl von Dateien/Verzeichnissen an. Das meiste geht mit TC-Bordmitteln.

Was macht denn dein Batch-Skript? Nach dessen Namen zu urteilen, erstellt es aus den markierten Dateien Verzeichnisse mit demselben Namen. Wenn du die Dateien da hineinschieben willst, geht die Sache auch mit dem TC - mit dem MUT (Mehrfachumbenenntool), auf das man wohl eher nicht sofort kommt.

Grüße
Dalai
#101164 Personal licence
Ryzen 5 2600, 16 GiB RAM, ASUS Prime X370-A, Win7 x64

Plugins: Services2, Startups, CertificateInfo, SignatureInfo, LineBreakInfo - Download-Mirror
User avatar
Stefan2
Power Member
Power Member
Posts: 4133
Joined: 2007-09-13, 22:20 UTC
Location: Europa

Skript Script Automatisierung programmieren fernsteuern

Post by *Stefan2 »

Pauli wrote:Kann ich dann ein benutzerdefiniertes Kommando mit folgender
Kommando-Ziele erstellen:

*%SystemRoot%\system32\cmd.exe /c %COMMANDER_PATH%\SCRIPTS\MakeDirOriginaldateien.bat, cm_RereadSource

oder muss ich den eigentlichen Aufruf als benutzerdefiniertes Kommando em_MakeDirOriginaldateien erstellen und dann ein weiteres was wiederum auf dieses verwaist:

em_MakeDirOriginaldateien, cm_RereadSource

Danke, Pauli
Tipp

Man kann in einer Batch auch ein Tool wie NirCmd aufrufen, und damit Mitteilungen an den TC senden.

Code: Select all

<hier der code deiner MakeDirOriginaldateien.bat, und dann...>

TIMEOUT /T 3

REM TOTALCMD.INC:  cm_RereadSource=540;Reread source

X:\TCMD\TOOLs\NirSoft\nircmdc.exe win sendmsg class TTOTAL_CMD 1075, 540, 0 

http://ghisler.ch/board/viewtopic.php?t=44090

Timeout ist ein WindowsTM Befehl.

TTOTAL_CMD = ist die Kennung des TCs
1075 = ist "der Kanal" auf dem der TC lauscht, um solche Befehle anzunehmen
540 = ist der an den TC gesendete Befehl



- - -

Anstelle der unflexiblen DOS Batch kann man auch mit dem Windows Script Host und somit mit VBScript und JScript, oder gleich mit der PowerShell arbeiten.
Die haben die besseren Unicode-Unterstützung und Stringmanipulationsmöglichkeiten.


- - -

Viele haben auch die AutoHotkey.exe im TC-Ordner liegen.
Damit kann man vieles noch eleganter erledigen und prima GUI-Dialoge bauen.
Auch das fern steuern vom TC über sendmsg ist damit möglich.

Code: Select all

;Test with AHK-L v1.1.22.09 on Win7/32 with TC9beta2 32-Bit
#SingleInstance, Force

#IfWinExist, ahk_class TTOTAL_CMD
$#a::   ;press shortcut Win-A
   ;TC v9: WM_USER+50 = 1074  ;See Hstory.txt "08.06.16 Release Total Commander 9.0 beta 1"
   vMsg = 1074 ;WM_USER+50

   ;Left/Right
   ;1011/1012 to get index of first file in list (-1 if there are no files)

   vWParam = 1011
   SendMessage %vMsg%, %vWParam%, 0, , ahk_class TTOTAL_CMD
   vFolders := % (ErrorLevel - 1)
   MsgBox ErrorLevel of wParam %vWParam% (Left):`nFirst file is on Pos. %ErrorLevel%`n(So there are %vFolders% folders)


   vWParam = 1012
   SendMessage %vMsg%, %vWParam%, 0, , ahk_class TTOTAL_CMD
   vFolders := % (ErrorLevel  - 1)
   MsgBox ErrorLevel of wParam %vWParam% (Right):`nFirst file is on Pos. %ErrorLevel%`n(So there are %vFolders% folders)

Return
http://ghisler.ch/board/viewtopic.php?p=310263#310263



- - -


Durchsuche mal das Forum nach Batch, VBS, VBScript, NirCmd, PowerPro, Powershell und AutoHotkey... da findest du viele Beispiele als Anregung.




 
Post Reply