Ein Frage zur Toolbar
Moderators: Hacker, Stefan2, white
Ein Frage zur Toolbar
Ich habe zu Testzwecken mal das Notepad.exe genommen und dort dann rumexperimentiert.
Wenn ich da ein Programm dazu bringen möchte mehrfach markierte Dateien in einem Verzeichnis mit einem Programm zu extrahieren (nicht entpacken!). Wie gestalte ich das richtig.
Bislang habe ich es geschafft, dass jeweils immer EINE markierte Datei in das Zielverzeichnis kopiert wird. Markiere ich mehrere Dateien funktioniert es garnicht. Das DOSfenster geht kurz auf und dann wieder zu. Muss ich noch einen Flag setzen damit das funktioniert und er die Files der Reihe nach extrahiert?
Wenn ich da ein Programm dazu bringen möchte mehrfach markierte Dateien in einem Verzeichnis mit einem Programm zu extrahieren (nicht entpacken!). Wie gestalte ich das richtig.
Bislang habe ich es geschafft, dass jeweils immer EINE markierte Datei in das Zielverzeichnis kopiert wird. Markiere ich mehrere Dateien funktioniert es garnicht. Das DOSfenster geht kurz auf und dann wieder zu. Muss ich noch einen Flag setzen damit das funktioniert und er die Files der Reihe nach extrahiert?
Irgendwie peile ich noch nicht so richtig, was du willst und was du meinst.
- Notepad.exe als Testzweck wofür genau?
- Welches DOS-Fenster?
- Wie sieht dein Button bislang aus?
- Was ist der Unterschied zwischen extrahieren und entpacken?
#101164 Personal licence
Ryzen 5 2600, 16 GiB RAM, ASUS Prime X370-A, Win7 x64
Plugins: Services2, Startups, CertificateInfo, SignatureInfo, LineBreakInfo - Download-Mirror
Ryzen 5 2600, 16 GiB RAM, ASUS Prime X370-A, Win7 x64
Plugins: Services2, Startups, CertificateInfo, SignatureInfo, LineBreakInfo - Download-Mirror
So sieht mein Test Button aus.
-s -x -d %T%S %S. Das Programm extrahiert aus einer Datei in das andere Fenster. Wenn ich aber mehr als eine Datei zum extrahieren auswähle geht es nicht. Jede Datei einzeln mittels des buttons zu extrahieren geht. Ich möchte es aber so haben das, wenn ich drei oder vier dinge rot markiert habe diese auch nacheinander extrahiert werden sollen.
-s -x -d %T%S %S. Das Programm extrahiert aus einer Datei in das andere Fenster. Wenn ich aber mehr als eine Datei zum extrahieren auswähle geht es nicht. Jede Datei einzeln mittels des buttons zu extrahieren geht. Ich möchte es aber so haben das, wenn ich drei oder vier dinge rot markiert habe diese auch nacheinander extrahiert werden sollen.
Äh, ja, und? Was macht "das Programm" damit?
Was ist denn "das Programm"? Ein von dir geschriebenes Programm oder ein fertiges (Kommandozeilen-)Tool, das mit ganz bestimmten Parametern gefüttert werden muss?
MfG Dalai
Also muss "das Programm" diese Parameter durchlaufen und dann verarbeiten (auspacken).TC-Hilfe wrote:%S fügt die Namen aller markierten Dateien in die Kommandozeile ein.
Was ist denn "das Programm"? Ein von dir geschriebenes Programm oder ein fertiges (Kommandozeilen-)Tool, das mit ganz bestimmten Parametern gefüttert werden muss?
MfG Dalai
#101164 Personal licence
Ryzen 5 2600, 16 GiB RAM, ASUS Prime X370-A, Win7 x64
Plugins: Services2, Startups, CertificateInfo, SignatureInfo, LineBreakInfo - Download-Mirror
Ryzen 5 2600, 16 GiB RAM, ASUS Prime X370-A, Win7 x64
Plugins: Services2, Startups, CertificateInfo, SignatureInfo, LineBreakInfo - Download-Mirror
Falls das Programm nicht mit mehr als einer übergebene Datei zurechtkommt, dann gibt es hier z.B. ein Tool das man dazwischenschalten kann:
http://www.ghisler.com/dtools.htm#weitere[quote][b]lst2multi[/b]
List zu Multi-Instanz Konverter. Dieses Tool kann zusammen mit dem Buttonbar von Total Commander verwendet werden, um alle markierten Dateien in einem bestimmten Programm zu laden.[/quote]
DDL: https://plugins.ghisler.com/addons/lst2multi.zip
Gruß
Holger
http://www.ghisler.com/dtools.htm#weitere[quote][b]lst2multi[/b]
List zu Multi-Instanz Konverter. Dieses Tool kann zusammen mit dem Buttonbar von Total Commander verwendet werden, um alle markierten Dateien in einem bestimmten Programm zu laden.[/quote]
DDL: https://plugins.ghisler.com/addons/lst2multi.zip
Gruß
Holger
Etwas hilfreiches. Man muss doch wissen, in welcher Form das fragliche Programm die Parameter braucht. Wie soll das ohne Kenntnis dessen funktionieren?drake008 wrote:Was soll ich denn bitte noch schreiben.
Na das ist doch mal was.exiso heisst das Program
Welche Dateien übergibst du dem Button, also welche markierst du? ISO-Dateien, die ausgepackt werden, oder wie läuft das?
MfG Dalai
#101164 Personal licence
Ryzen 5 2600, 16 GiB RAM, ASUS Prime X370-A, Win7 x64
Plugins: Services2, Startups, CertificateInfo, SignatureInfo, LineBreakInfo - Download-Mirror
Ryzen 5 2600, 16 GiB RAM, ASUS Prime X370-A, Win7 x64
Plugins: Services2, Startups, CertificateInfo, SignatureInfo, LineBreakInfo - Download-Mirror
Jupp, ich markiere die iso Dateien und möchte diese dann per Button übergeben. Da hakt es jedoch noch. Bei der Mehrfachauswahl!
Das ist die komplette Liste der Flags
Ich arbeite mit
entschuldigung deswegen, aber ich hänge sowieso seit mehreren Wochen nur noch durch. Da mach ich mich natürlich auch in verschiedenen communities nicht gerade sehr beliebt.
Das ist die komplette Liste der Flags
Code: Select all
extract-xiso v2.6.1 (10.11.10) for win32 - written by in <in@fishtank.com> - mod
ified by Aiyyo
Usage:
exiso [options] [-[lrx]] <file1.xiso> [file2.xiso] ...
exiso [options] -c <dir> [name] [-c <dir> [name]] ...
Mutually exclusive modes:
-c <dir> [name] Create xiso from file(s) starting in (local or remote)
<dir>. If the [name] parameter is specified, the
xiso will be created with the (path and) name given,
otherwise the xiso will be created in the current
directory with the name <dir>.iso. The -c option
may be specified multiple times to create multiple
xiso images.
-l List files in xiso(s).
-r Rewrite xiso(s) as optimized xiso(s).
-x Extract xiso(s) (the default mode if none is given).
If no directory is specified with -d, a directory
with the name of the xiso (minus the .iso portion)
will be created in the current directory and the
xiso will be expanded there.
Options:
-d <directory> In extract mode, expand xiso in <directory>.
In rewrite mode, rewrite xiso in <directory>.
This option is required when extracting to an ftp
server.
-D In rewrite mode, delete old xiso after processing.
-h Print this help text and exit.
-f <ftp_server> In create or extract mode, use <ftp_server> instead of
the local filesystem.
-m In create or rewrite mode, disable automatic
media enable patching (not recommended).
-p <password> Ftp password
-q Run quiet (suppress all non-error output).
-Q Run silent (suppress all output).
-s Skip $SystemUpdate folder.
-u <user name> Ftp user name
-v Print version information and exit.
Code: Select all
"-s -x -d %T%S %S"
Last edited by drake008 on 2011-08-19, 21:10 UTC, edited 1 time in total.
Ich ahne gerade, was das Problem sein könnte: %S, wie oben schon erwähnt. Du übergibst dem Tool für den Parameter -d durch %S mehrere Dateien, nämlich alle markierten. Das kann natürlich nicht funktionieren.
Wenn du den Dateinamen des ISOs als Vorlage für das Zielverzeichnis brauchst, führt IMO nichts an einem Skript vorbei, das exiso für jede Datei einzeln aufruft. Das kann man mit Batch und einer vergleichsweise einfachen for-Schleife machen.
Bevor ich mich aber daran mache, ein Skript dafür zu basteln, solltest du dich erstmal äußern, ob ich damit richtig liege. Dazu solltest du den Button so ändern, dass nicht exiso direkt aufgerufen wird, sondern die cmd.exe und zwar mit dem Parameter /k - dann bleibt die Konsole offen und du kannst dir eine eventuelle Fehlermeldung anschauen und auch hier posten.
MfG Dalai
Wenn du den Dateinamen des ISOs als Vorlage für das Zielverzeichnis brauchst, führt IMO nichts an einem Skript vorbei, das exiso für jede Datei einzeln aufruft. Das kann man mit Batch und einer vergleichsweise einfachen for-Schleife machen.
Bevor ich mich aber daran mache, ein Skript dafür zu basteln, solltest du dich erstmal äußern, ob ich damit richtig liege. Dazu solltest du den Button so ändern, dass nicht exiso direkt aufgerufen wird, sondern die cmd.exe und zwar mit dem Parameter /k - dann bleibt die Konsole offen und du kannst dir eine eventuelle Fehlermeldung anschauen und auch hier posten.
MfG Dalai
#101164 Personal licence
Ryzen 5 2600, 16 GiB RAM, ASUS Prime X370-A, Win7 x64
Plugins: Services2, Startups, CertificateInfo, SignatureInfo, LineBreakInfo - Download-Mirror
Ryzen 5 2600, 16 GiB RAM, ASUS Prime X370-A, Win7 x64
Plugins: Services2, Startups, CertificateInfo, SignatureInfo, LineBreakInfo - Download-Mirror
Das ist aber dann wieder arbeit die wieder andere (in diesem Falle Du) für mich machen würden. Ist doch auch schlecht. Nutz ich wieder andere dafür aus Stundenlang was zu erstellen.
Wenn ich mich nur weiter mit dem Kram nach meiner Amigazeit beschäftigt hätte. Es ist echt scheisse alles so schleifen zu lassen und ich dachte mit dem Alter wird alles besser und einfacher. Heute klickt man sich mehr durch die Gegend als das man sich mit Skripten beschäftigt.
Wenn ich mich nur weiter mit dem Kram nach meiner Amigazeit beschäftigt hätte. Es ist echt scheisse alles so schleifen zu lassen und ich dachte mit dem Alter wird alles besser und einfacher. Heute klickt man sich mehr durch die Gegend als das man sich mit Skripten beschäftigt.
Öhm, ich muss das nicht machen, das ist nur ein Angebot. Du darfst das auch gern selber machen, nur wird's dann noch länger dauern, sofern du noch nicht damit zu tun hattest.drake008 wrote:Das ist aber dann wieder arbeit die wieder andere (in diesem Falle Du) für mich machen würden.
Wieso ausnutzen? Ich habe nicht vor, das ständig bzw. immer wieder zu machenNutz ich wieder andere dafür aus Stundenlang was zu erstellen.


MfG Dalai
#101164 Personal licence
Ryzen 5 2600, 16 GiB RAM, ASUS Prime X370-A, Win7 x64
Plugins: Services2, Startups, CertificateInfo, SignatureInfo, LineBreakInfo - Download-Mirror
Ryzen 5 2600, 16 GiB RAM, ASUS Prime X370-A, Win7 x64
Plugins: Services2, Startups, CertificateInfo, SignatureInfo, LineBreakInfo - Download-Mirror
Probier mal folgendes Batch:
Wichtig: Den Pfad zur exiso.exe bitte anpassen!
Button dazu für den TC:Obigen Code markieren und auf einer freien Stelle der TC-Buttonbar rechte Maustaste > Einfügen. Den Pfad zum extract.cmd natürlich noch anpassen, je nachdem, wo du obiges Skript gespeichert hast.
MfG Dalai
Code: Select all
@echo off
REM --- http://ghisler.ch/board/viewtopic.php?t=30418
REM --------- benutzerdefinierte Variablen ------------------------------------
set exiso=E:\Programme\exiso.exe
set exiso_params=-qs -x
REM ---------------------------------------------------------------------------
echo.
if "%~2"=="" (
echo Erster Parameter: Listendatei mit ISOs
echo Zweiter Parameter: Zielverzeichnis ^(Basis^)
echo.
pause
goto :EOF
)
set list=%~1
set target=%~2
echo -------------------------------------------------------------
for %%i IN (exiso exiso_params list target) DO (
call echo %%i=%%%%i%%
)
echo -------------------------------------------------------------
for /F "usebackq tokens=*" %%i IN ("%list%") DO (
echo.
echo --- %%i
if not exist "%target%\%%~ni" mkdir "%target%\%%~ni"
"%exiso%" %exiso_params% -d "%target%\%%~ni" "%%~i"
)
echo.
pause
Button dazu für den TC:
Code: Select all
TOTALCMD#BAR#DATA
extract.cmd
%L "%T"
TOTALCMD.EXE,2
Markierte ISOs entpacken
-1
MfG Dalai
#101164 Personal licence
Ryzen 5 2600, 16 GiB RAM, ASUS Prime X370-A, Win7 x64
Plugins: Services2, Startups, CertificateInfo, SignatureInfo, LineBreakInfo - Download-Mirror
Ryzen 5 2600, 16 GiB RAM, ASUS Prime X370-A, Win7 x64
Plugins: Services2, Startups, CertificateInfo, SignatureInfo, LineBreakInfo - Download-Mirror