Ein Frage zur Toolbar

German support forum

Moderators: Hacker, Stefan2, white

drake008
Junior Member
Junior Member
Posts: 14
Joined: 2011-04-28, 17:56 UTC

Ein Frage zur Toolbar

Post by *drake008 »

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?
User avatar
Dalai
Power Member
Power Member
Posts: 9989
Joined: 2005-01-28, 22:17 UTC
Location: Meiningen (Südthüringen)

Post by *Dalai »

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?
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
drake008
Junior Member
Junior Member
Posts: 14
Joined: 2011-04-28, 17:56 UTC

Post by *drake008 »

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.
User avatar
Dalai
Power Member
Power Member
Posts: 9989
Joined: 2005-01-28, 22:17 UTC
Location: Meiningen (Südthüringen)

Post by *Dalai »

Äh, ja, und? Was macht "das Programm" damit?
TC-Hilfe wrote:%S fügt die Namen aller markierten Dateien in die Kommandozeile ein.
Also muss "das Programm" diese Parameter durchlaufen und dann verarbeiten (auspacken).

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
drake008
Junior Member
Junior Member
Posts: 14
Joined: 2011-04-28, 17:56 UTC

Post by *drake008 »

Ein Programm das mit Kommandozeilen gefüttert wird!
User avatar
HolgerK
Power Member
Power Member
Posts: 5411
Joined: 2006-01-26, 22:15 UTC
Location: Europe, Aachen

Post by *HolgerK »

Dann füttere doch mal die hier Anwesenden mit Informationen anstelle das zu wiederholen was offensichtlich ist!
Bist du ein Troll, der auf jede Frage genau die Antwort gibt die am wenigsten weiterhilft?

Gruß
Holger
User avatar
HolgerK
Power Member
Power Member
Posts: 5411
Joined: 2006-01-26, 22:15 UTC
Location: Europe, Aachen

Post by *HolgerK »

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
drake008
Junior Member
Junior Member
Posts: 14
Joined: 2011-04-28, 17:56 UTC

Post by *drake008 »

Was soll ich denn bitte noch schreiben. exiso heisst das Program und dient dazu isos zu extrahieren.

lst2multi muss ja zwangsweise alles in eine rListe stehen laut Readme! hilft also auch nicht!
User avatar
Dalai
Power Member
Power Member
Posts: 9989
Joined: 2005-01-28, 22:17 UTC
Location: Meiningen (Südthüringen)

Post by *Dalai »

drake008 wrote:Was soll ich denn bitte noch schreiben.
Etwas hilfreiches. Man muss doch wissen, in welcher Form das fragliche Programm die Parameter braucht. Wie soll das ohne Kenntnis dessen funktionieren?
exiso heisst das Program
Na das ist doch mal was.

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
drake008
Junior Member
Junior Member
Posts: 14
Joined: 2011-04-28, 17:56 UTC

Post by *drake008 »

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

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.
Ich arbeite mit

Code: Select all

"-s -x -d %T%S %S"
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.
Last edited by drake008 on 2011-08-19, 21:10 UTC, edited 1 time in total.
User avatar
Dalai
Power Member
Power Member
Posts: 9989
Joined: 2005-01-28, 22:17 UTC
Location: Meiningen (Südthüringen)

Post by *Dalai »

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
#101164 Personal licence
Ryzen 5 2600, 16 GiB RAM, ASUS Prime X370-A, Win7 x64

Plugins: Services2, Startups, CertificateInfo, SignatureInfo, LineBreakInfo - Download-Mirror
drake008
Junior Member
Junior Member
Posts: 14
Joined: 2011-04-28, 17:56 UTC

Post by *drake008 »

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.
User avatar
Dalai
Power Member
Power Member
Posts: 9989
Joined: 2005-01-28, 22:17 UTC
Location: Meiningen (Südthüringen)

Post by *Dalai »

drake008 wrote:Das ist aber dann wieder arbeit die wieder andere (in diesem Falle Du) für mich machen würden.
Ö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.
Nutz ich wieder andere dafür aus Stundenlang was zu erstellen.
Wieso ausnutzen? Ich habe nicht vor, das ständig bzw. immer wieder zu machen ;). Deshalb nenne ich das Hilfe bzw. freundliche Unterstützung bei einem Problem. Deswegen fragst du doch hier, weil du es selbst nicht hinbekommen hast, oder? Außerdem: stundenlang brauche ich dafür sicher nicht :lol:.

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
drake008
Junior Member
Junior Member
Posts: 14
Joined: 2011-04-28, 17:56 UTC

Post by *drake008 »

Das einzige was mir noch so einfiel war

for %%a in (hier muss wohl das markierte file hin) do exiso (flags setzen) %%a.

sieht das halbwegs gut aus? Übergebe ich das Targetdirectory dann einfach im exiso oder muss ich das mit in die schleife einarbeiten
User avatar
Dalai
Power Member
Power Member
Posts: 9989
Joined: 2005-01-28, 22:17 UTC
Location: Meiningen (Südthüringen)

Post by *Dalai »

Probier mal folgendes Batch:

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
Wichtig: Den Pfad zur exiso.exe bitte anpassen!

Button dazu für den TC:

Code: Select all

TOTALCMD#BAR#DATA
extract.cmd
%L "%T"
TOTALCMD.EXE,2
Markierte ISOs entpacken


-1
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
#101164 Personal licence
Ryzen 5 2600, 16 GiB RAM, ASUS Prime X370-A, Win7 x64

Plugins: Services2, Startups, CertificateInfo, SignatureInfo, LineBreakInfo - Download-Mirror
Post Reply