alte Batch Dateien nutzen

German support forum

Moderators: Hacker, Stefan2, white

Post Reply
Ithron
Junior Member
Junior Member
Posts: 8
Joined: 2013-06-20, 11:38 UTC

alte Batch Dateien nutzen

Post by *Ithron »

Hallo zusammen!
Der erste Beitrag ist gleich mal eine Frage bzw ein Problem :wink:

Unser Büro nutzt Total Commander schon seit der 6.0 Version und hat sich jetzt neuere Versionen zugelegt, weil wir auch neue Hardware bekommen haben.

Früher hat ein Teil der Mitarbeiter eine Batch-Datei namens "HOLE.bat" mit folgendem Inhalt genutzt:

Code: Select all

rem @echo off
copy g:\orig-dat\halle\%1 /-Y
pause
in der alten Version konnte man wohl ganz einfach den Dateinamen der Batch eintragen und in der neueren Version funktioniert das scheinbar nicht mehr.
Ich kenne mich mit Total Commander nicht aus, da ich erst seit kurzem hier arbeite und der mit den besten IT-Kenntnissen bin, was nicht allzu viel ist :wink:
Gibt scheinbar noch einige andere Batch-Dateien für Funktionen
Gibt es eine Allgemein-Lösung oder eine Möglichkeit die Batch umzuschreiben? Habs schon über nen Icon probiert, aber wie gesagt fehlen mir tiefere Kenntnisse bei TC und Batch-Dateien.

Ich bedanke mich für eure Hilfe und Vorschläge!

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

Post by *Dalai »

Ithron wrote:[...] und in der neueren Version funktioniert das scheinbar nicht mehr.
In der neueren Version wovon? Von TC? TC hat nichts mit Batch/CMD zu tun. Und was heißt "funktioniert scheinbar nicht" ganz konkret?

Wie wird diese Batch aufgerufen? Wie also sehen die Parameter dafür aus?

Und Leerzeichen hat auch mal wieder keiner bedacht!

Code: Select all

rem @echo off
copy "g:\orig-dat\halle\%~1" /-Y
pause
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
Ithron
Junior Member
Junior Member
Posts: 8
Joined: 2013-06-20, 11:38 UTC

Post by *Ithron »

Wie gesagt wurde es mir nur zugetragen, ob ich mich damit mal befassen könnte :?
Ja, in der 8.0 Version von TC. Die Bat wurde einfach über die Kommandoleiste von der 6.0 Version des TC aufgerufen. Die schreiben dort einfach "HOLE Dateiname xyz" und dann wird das scheinbar in das aktuelle Fenster reinkopiert. je nachdem ob links oder rechts grad aktiviert ist, kopiert er die Datei(en) oder gibt eine Meldung zurück, dass sie vorhanden sind. Hab das Programm oder die Batch vorher noch nie gesehen und die Mitarbeiter sind nicht so sonderlich vertraut mit ihrer genutzten Technik, was das Ganze zu nem Suchen der Nadel im Heuhaufen macht :(

Die Batch wurde wohl von einem ehemaligen Mitarbeiter erstellt und die haben das halt die ganzen Jahre genutzt, bis sie sie nicht einfach mehr über dieses Schlagwort aufrufen konnten und da wurde dann der Neuling beauftragt sich mit auseinander zusetzen ;)
User avatar
Dalai
Power Member
Power Member
Posts: 9977
Joined: 2005-01-28, 22:17 UTC
Location: Meiningen (Südthüringen)

Post by *Dalai »

Ithron wrote:Die Bat wurde einfach über die Kommandoleiste von der 6.0 Version des TC aufgerufen. Die schreiben dort einfach "HOLE Dateiname xyz"
Mit oder ohne Anführungszeichen um Dateinamen mit Leerzeichen?
[...] und dann wird das scheinbar in das aktuelle Fenster reinkopiert. je nachdem ob links oder rechts grad aktiviert ist, kopiert er die Datei(en) oder gibt eine Meldung zurück, dass sie vorhanden sind.
Das ist klar und aus dem Batch zu erkennen.
Die Batch wurde wohl von einem ehemaligen Mitarbeiter erstellt und die haben das halt die ganzen Jahre genutzt, bis sie sie nicht einfach mehr über dieses Schlagwort aufrufen konnten und da wurde dann der Neuling beauftragt sich mit auseinander zusetzen ;)
Das sind ja beste Voraussetzungen...

Leider hast du immer noch nicht gesagt, was konkret nicht geht oder woran es hängt oder welche Ausgaben das Skript macht. Ohne diese Info kann man aber nur rätselraten und das mag ich bei dieser Hitze nicht ;).

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
Ithron
Junior Member
Junior Member
Posts: 8
Joined: 2013-06-20, 11:38 UTC

Post by *Ithron »

Das sind ja beste Voraussetzungen...
Seh ich auch so. Und die Erklärungsversuche beschränken sich auf "ich mach so und dann so und dann sagt der, es geht nicht" -.-

Ich kann leider auch nur versuchen mich da reinzuversetzen und es selber nachzuspielen und die Hitze macht es wohl keinem leicht bei solch wagen Vermutungen der netten Mitarbeiter ;)
Ich versuche es mal aufzudröseln, so gut ich kann.
Also die alte TC Version liegt auf dem Server, die Batch-Dateien in einem Unterordner, die .exe von TC in einem weiteren Unterordner. (Also Hauptordner mit 2 Unterordnern, 1x Batch und 1x TC) Die neuen Versionen liegen auf den Rechnern selber (zumindest finde ich auf dem Server-Laufwerk nichts Neuartiges ;) ).
Gibt man in TC nun den Befehl "HOLE abc.txt" (ohne Anführungszeichen und Dateinamen ohne Leerzeichen) ein und bestätigt das Ganze, kommt die Meldung, dass diese Datei nicht vorhanden sei. Dabei ist es unrelevant, welches Fenster man ausgewählt hat. Hab es jetzt mit Drag&Drop der Datei probiert, ebenso wie mit per Hand eintippen, im anderen Fenster ist irgendein beliebiger Ordner geöffnet.

Ich hoffe, das hilft erstmal weiter, leider erreiche ich heute den beteiligten Mitarbeiter auch nicht mehr, ansonsten würde ich es auf Morgen verschieben und mich erneut melden, wenn wir nicht weiterkommen :)
Aber Danke erstmal für die Hilfe :D

edit: Hab gerade mal was ausprobiert: Gebe ich den vollständigen Pfadnamen zur Batch-Datei an und schreibe die Datei in Anführungszeichen, dann führt er den Befehl aus. Allerdings wäre das ja unnötig umständlich und geht sicher einfacher ;)
User avatar
Dalai
Power Member
Power Member
Posts: 9977
Joined: 2005-01-28, 22:17 UTC
Location: Meiningen (Südthüringen)

Post by *Dalai »

Ithron wrote:Und die Erklärungsversuche beschränken sich auf "ich mach so und dann so und dann sagt der, es geht nicht" -.-
Das sind immer die besten "Erklärungen"...
Also die alte TC Version liegt auf dem Server, die Batch-Dateien in einem Unterordner, die .exe von TC in einem weiteren Unterordner. (Also Hauptordner mit 2 Unterordnern, 1x Batch und 1x TC) Die neuen Versionen liegen auf den Rechnern selber (zumindest finde ich auf dem Server-Laufwerk nichts Neuartiges ;) ).
Verstehe. Dann liegt das Problem woanders, genau im Unterschied, dass der alte TC auf dem Server und der neue lokal liegt.
Gibt man in TC nun den Befehl "HOLE abc.txt" (ohne Anführungszeichen und Dateinamen ohne Leerzeichen) ein und bestätigt das Ganze, kommt die Meldung, dass diese Datei nicht vorhanden sei.
Wer bringt diese Meldung? TC selbst?
edit: Hab gerade mal was ausprobiert: Gebe ich den vollständigen Pfadnamen zur Batch-Datei an und schreibe die Datei in Anführungszeichen, dann führt er den Befehl aus. Allerdings wäre das ja unnötig umständlich und geht sicher einfacher ;)
Dann habe ich eine Vermutung: Bei der alten TC-Version wird - wodurch auch immer - die Umgebungsvariable PATH ergänzt, so dass ein Aufruf von "HOLE" aus jedem Verzeichnis möglich ist. Daher die Fragen: Wie genau wird der alte TC gestartet? Wie sieht der Inhalt der Umgebungsvariable PATH aus ("set PATH" auf einer CMD hilft hier weiter)?

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
Ithron
Junior Member
Junior Member
Posts: 8
Joined: 2013-06-20, 11:38 UTC

Post by *Ithron »

Dalai wrote: Verstehe. Dann liegt das Problem woanders, genau im Unterschied, dass der alte TC auf dem Server und der neue lokal liegt.
Habe ich auch vermutet, als ich es eben getestet habe.
Wer bringt diese Meldung? TC selbst?
Jop, in einem Fehlermeldungsfenster
Dann habe ich eine Vermutung: Bei der alten TC-Version wird - wodurch auch immer - die Umgebungsvariable PATH ergänzt, so dass ein Aufruf von "HOLE" aus jedem Verzeichnis möglich ist. Daher die Fragen: Wie genau wird der alte TC gestartet? Wie sieht der Inhalt der Umgebungsvariable PATH aus ("set PATH" auf einer CMD hilft hier weiter)?

MfG Dalai
Hier kann ich leider nur vermuten oder raten. Hab grad mal in die Konfig-Datei geschaut, ob man hier chlüsse ziehen kann und folgendes gefunden:
"[left]
path=D:\tmp"
und
"[right]
path=F:\BATCH"

Ob es damit vielleicht zusammenhängt, dass der alte TC das so einfach ausführen konnte?

Ansonsten canceln wir das Vorhaben "alte Batch nutzen" einfach und ich versuche mich an einer/mehrer neuen Batch für die Zwecke der Kollegen, wobei ich den Unterschied der Batch und einem einfachen strg+c/strg+v noch nicht ganz sehe, aber wie gesagt bin ich nicht sonderlich bewandert bei Batch-Dateien ;)
User avatar
Dalai
Power Member
Power Member
Posts: 9977
Joined: 2005-01-28, 22:17 UTC
Location: Meiningen (Südthüringen)

Post by *Dalai »

Nein, die Abschnittte [left] und [right] speichern nur das Startverzeichnis & die Ansicht für TC ab. Da beide TC-Versionen vielleicht (oder gar wahrscheinlich) dieselben INIs verwenden, spielt das keine Rolle.

Wichtig zu wissen, ist, wie der alte TC (auch im Vergleich zum neuen) gestartet wird und welchen Inhalt die Variable PATH innerhalb der jeweiligen TC-Instanzen haben. Dazu TC starten, Alt+B, D eingeben (startet eine CMD vom TC aus) und in der nun gestarteten CMD "set PATH" eingeben. Wenn sich dort Unterschiede ergeben, ist das wahrscheinlich die Ursache.

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
Ithron
Junior Member
Junior Member
Posts: 8
Joined: 2013-06-20, 11:38 UTC

Post by *Ithron »

NE, bei set Path geben mir beide Programme den selben Pfad aus, komischerweise aber nicht der Pfad, wo sie liegen, sondern ein komplett anderer Ordner. Scheinbar nen Ordner "MikTex", was wohl ne Programmierergruppe oder sowas ist.

Gestartet werden beide sicherlich mit einer normalen Verknüpfung vom Desktop aus, allerdings halt die eine aufm Server liegend, die andere lokal.
Sehr kurios das Ganze :D
User avatar
Dalai
Power Member
Power Member
Posts: 9977
Joined: 2005-01-28, 22:17 UTC
Location: Meiningen (Südthüringen)

Post by *Dalai »

Ithron wrote:NE, bei set Path geben mir beide Programme den selben Pfad aus [...]
Sicher?
[...] komischerweise aber nicht der Pfad, wo sie liegen, sondern ein komplett anderer Ordner.
Logisch. Die Variable PATH gibt alle Pfade an, in denen nach ausführbaren Dateien gesucht werden soll, wenn sie ohne (relativen/absoluten) Pfad angegeben werden. Beispiel: notepad.exe oder calc.exe liegen im Verzeichnis %SystemRoot%\system32 und können von überall her aufgerufen werden, ohne Angabe des kompletten Pfads.
Gestartet werden beide sicherlich mit einer normalen Verknüpfung vom Desktop aus, allerdings halt die eine aufm Server liegend, die andere lokal.
Hast du das überprüft?

-----

Wie weit sind denn die Arbeitsgänge eingeschliffen? Wenn daran Änderungen vorgenommen werden können, kann man nämlich auch einen Button in der Buttonbar des TC erstellen, der diese Batch aufruft (mit vollem Pfad hinterlegt) und evtl. sogar automatisch die Datei unter dem Cursor als Parameter übergibt. Dadurch könnte man sich das Tippen sparen, und setzt stattdessen einfach den Cursor auf die gewünschte Datei und klickt den Button, fertig.

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
Ithron
Junior Member
Junior Member
Posts: 8
Joined: 2013-06-20, 11:38 UTC

Post by *Ithron »

Konnte es leider nicht mehr überprüfen, da die Abteilung heute schon dicht gemacht hat ;) Bin nur von mir ausgegangen, da es bei mir ja der Fall ist auf dem Rechner, wo ich es nachvollzogen habe.
Da sie ja schon vor meiner Zeit Probleme damit hatten, wird das sicherlich nicht so fest drinnen sitzen, dass man es nicht einfacher lösen könnte.
Ich werde Morgen mal nachfragen, wie es für sie am einfachsten wäre, das Ganze zu lösen. Und vor allem, wie nötig die einzelnen Batch für sie sind.

Ich danke dir aber erstmal für deine Hilfe, das hat zumindest etwas Klarheit gebracht und die Idee mit den Icons hinzufügen hatte ich auch schon gehabt, aber beim Versuch kam noch die Fehlermeldung, da hatte ich wohl etwas falsch eingetragen :)
Ich werde mich dann wieder melden, wenn ich die Abteilung erfolgreich kontaktiert habe und eine Richtung für einen Lösungsansatz parat habe ;)
Ithron
Junior Member
Junior Member
Posts: 8
Joined: 2013-06-20, 11:38 UTC

Post by *Ithron »

So, zum Freitag doch noch kurzfristig wen erwischt ;)
Hab das jetzt auch etwas aufgedröselt bekommen. Das sind zwei unterschiedliche Rechner, wo jeweils eine andere Version drauf ist. Die alte halt mit Verknüpfung vom Server gestartet, die andere ganz normal installiert und mit der Desktop-Verknüpfung aus gestartet.

Hab das mit dem Knopf erwähnt und waren hellauf begeistert, auch die Variante mit dem Datei(en) auswählen, Knopf drücken und schon sind sie rüberkopiert :D
Habs eben mal kurz vor Feierabend probiert, da muss ich scheinbar erstmal ne neue Buttonleiste hinzufügen, weil die schreibgeschützt war. Ich würde mich da am Montag mal mit befassen, wenn ich etwas Freiraum habe und nochmal horchen, welche BATCH-Dateien sie nun genau brauchen, die waren quasi grade schon aufm Sprung und haben gedrängelt ;)

Dann mal ein schönes Wochenende und bis Montag und nochmal Danke für die Hilfe, das hat immerhin etwas Licht ins Dunkel gebracht :)
User avatar
Dalai
Power Member
Power Member
Posts: 9977
Joined: 2005-01-28, 22:17 UTC
Location: Meiningen (Südthüringen)

Post by *Dalai »

Ithron wrote:Das sind zwei unterschiedliche Rechner, wo jeweils eine andere Version drauf ist. Die alte halt mit Verknüpfung vom Server gestartet, die andere ganz normal installiert und mit der Desktop-Verknüpfung aus gestartet.
Dann ist mir aber weiterhin nicht klar, woher TC den/die Befehl/Batch HOLE kennen soll, wenn der/die nicht irgendwo im PATH liegt.
Hab das mit dem Knopf erwähnt und waren hellauf begeistert, auch die Variante mit dem Datei(en) auswählen, Knopf drücken und schon sind sie rüberkopiert :D
Hier muss man aber genau differenzieren: So wie das Skript jetzt ist, kann es nur eine Datei verarzten. Für mehr als eine Datei muss man das abändern - dann is aber nix mehr mit Tippen und zu kopierender Datei als Parameter.

Konkret: Skript verarbeitet momentan eine Datei aus dem Parameter %1. Um nun beliebig viele Dateien verarbeiten zu können, müsste man auf eine Listendatei umstellen (TC bringt dafür alle Voraussetzungen mit), die dann logischerweise ebenfalls mit %1 verarbeitet werden muss. Ich hoffe, du siehst den Unterschied: zu kopierende Datei vs. Listendatei, die die zu kopierenden Dateien enthält.
Habs eben mal kurz vor Feierabend probiert, da muss ich scheinbar erstmal ne neue Buttonleiste hinzufügen, weil die schreibgeschützt war.
Zum Ändern der default.bar braucht man Adminrechte, sofern TC irgendwo unter %ProgramFiles% installiert ist.

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
Ithron
Junior Member
Junior Member
Posts: 8
Joined: 2013-06-20, 11:38 UTC

Post by *Ithron »

Dalai wrote:Dann ist mir aber weiterhin nicht klar, woher TC den/die Befehl/Batch HOLE kennen soll, wenn der/die nicht irgendwo im PATH liegt.
Hab dir mal nen Screen angehängt vom PATH Image: http://abload.de/img/pathlmo2i.jpg
Ich hoffe, der hilft weiter. Einzig bei den auszuführenden Dateitypen seh ich einen Hinweis auf die BATCH, sonst erklärt sich mir das auch nicht.
Ich hoffe, du siehst den Unterschied: zu kopierende Datei vs. Listendatei, die die zu kopierenden Dateien enthält.
Jop, den Unterschied erkenne ich. War mir auch bewusst, dass die Batch dann umgeschrieben bzw neu geschrieben werden muss, wenn man sie gescheit nutzen möchte. Werd daher auch nochmal genauer nachfragen, was sie denn nun definitiv brauchen und haben wollen.
Zum Ändern der default.bar braucht man Adminrechte, sofern TC irgendwo unter %ProgramFiles% installiert ist.
Jop, hab ich gemerkt ;) Aber die haben die Standardleiste eh nicht genutzt, also leg ich einfach einen Neue an mit dem, was sie brauchen. Vielleicht brauchen sie nicht mal eine Batch, sondern die Funktionen von TC reichen aus.
Post Reply