gelöst Frage zu batch (cmd ) - Drag und Drop - Bearbeitung bei nicht geschlossenem DOS Fenster

Mitglied: AN34Mem

AN34Mem (Level 1) - Jetzt verbinden

29.10.2020 um 09:37 Uhr, 422 Aufrufe, 19 Kommentare, 1 Danke

Hallo.
Vielleicht mag meine Frage etwas seltsam sein, jedoch möchte ich gerne
wissen wie das umzusetzen ist:

Angenommen man hat eine cmd Datei, die man per drag & drop benutzt.

Beispiel:
:next
if "%~1" == "" goto done
"mein_prog.exe"
rename -egal "%~1"
shift
goto next
:done

Man wählt seine Dateien, und führt die markierten Dateien auf die cmd.
Danach werden diese bearbeitet und man ist happy.

Wie ist es aber (überhaupt) möglich die cmd zu starten, das dazugehörige Dos Fenster öffnet sich und bleibt bestehen,
sowie erst dann wenn die markierten Dateien (per Drag und Drop - WICHTIG!) auf das Dos Fenster gezogen werden
erfolgt die Bearbeitung?

Ich habe jetzt zig Versuche unternommen indem ich die cmd sogar zu einer EXE umwandelt habe,
cmd /k verwendet, und verschiedene andere Versuche getestet - jedoch alle ohne Erfolg.

Als Laie komme ich einfach nicht weiter, und würde mich über eine Hilfestellung (gern bitte mit einem Beispiel) freuen.
Vielen Dank.
Mitglied: mayho33
29.10.2020 um 09:53 Uhr
Zitat von AN34Mem:
Wie ist es aber (überhaupt) möglich die cmd zu starten, das dazugehörige Dos Fenster öffnet sich und bleibt bestehen,
sowie erst dann wenn die markierten Dateien (per Drag und Drop - WICHTIG!) auf das Dos Fenster gezogen werden
erfolgt die Bearbeitung?


Hi,

so ganz verstehe ich deine Frage nicht.

Du willst die CMD öffnen, per D&D dein cmd-File hinein ziehen und dann soll die Verarbeitung starten und das CMD nachher offen bleiben.

Das macht sie normalerweise eh.

Anders verhält es sich wenn du eine CMD-Datei hast und diese per Doppelclick startest.
Nach der Verarbeitung schließt sich die CMD wieder.

Passt du am Ende deiner Datei ein "Pause" ein, bleibt das CMD offen.

Grüße!
Bitte warten ..
Mitglied: AN34Mem
29.10.2020 um 12:09 Uhr
Sorry, falls meine Frage zu einem Missverständnis geführt hat.

Die Datei z.B.."meine.cmd" funktioniert wenn ich Dateien per Maus auf diese Datei ziehe. Somit kann die Bearbeitung erfolgen.
"Meine.cmd" öffnet dafür ein "DOS Fenster", und es bleibt solange geöffnet bis alle Dateien darin bearbeitet sind.

Ich möchte jedoch:
Ein Doppelklick auf die Datei "meine.cmd" durchführen, dass das dazugehörige Dos Fenster sich öffnet und geöffnet bleibt.
(Eine Bearbeitung kann bis dato ja nicht erfolgen, da keine Daten in das - DOS Fenster - gezogen wurden.)

Anschließend wähle ich meine zu ändernde Dateien aus, und ziehe diese anschließend per Drag & Drop in das "DOS Fenster", und nicht wie eigentlich sonst auf die "meine.cmd" Datei.

Die Dateien werden bearbeitet, und nach Fertigstellung soll auch das DOS Fenster weiterhin geöffnet bleiben (zwecks weitere Dateien Bearbeitung).

Ich hoffe das es verständlich ist.
Bitte warten ..
Mitglied: mayho33
29.10.2020 um 13:12 Uhr
Wie oben schon geschrieben:

Am Ende in deiner Datei einfach ein "pause" hinschreiben.

Exemplarisch:
Bitte warten ..
Mitglied: AN34Mem
29.10.2020 um 13:37 Uhr
Sobald die "meine.cmd" per Doppelklick aufgerufen wird, bleibt das Fenster zwar offen (wegen "pause"),
jedoch wenn man Dateien per drag & drop auf das "DOS Fenster" schiebt (nicht auf die cmd Datei), wird dieses
sofort geschlossen, und es findet auch keinerlei Bearbeitung statt.

Der Befehl "pause" ist mir bekannt.
Bitte warten ..
Mitglied: mayho33
29.10.2020, aktualisiert um 15:10 Uhr
Zitat von AN34Mem:

Sobald die "meine.cmd" per Doppelklick aufgerufen wird, bleibt das Fenster zwar offen (wegen "pause"),
jedoch wenn man Dateien per drag & drop auf das "DOS Fenster" schiebt (nicht auf die cmd Datei), wird dieses
sofort geschlossen, und es findet auch keinerlei Bearbeitung statt.

Jetzt willst du aber was anderes als oben beschrieben.

Mach folgendes:

Weg A)
Erstelle eine Verknüpfung auf deine datei.cmd.
In den Eigenschaften der Verknüpfung wähle den Reiter "Verknüpfung"
im Ziel ergänze am Anfang der Zeile wie folgt:
cmd.exe /k <Das was schon drinnen steht>

Mit Doppelklick auf die Verknüpfung starten

WegB)

Erstelle eine weitere cmd-Datei (bsp: MeinStarter.cmd) im gleiche Pfad wie deine CMD-Datei. Schreibe folgendes rein:

cmd.exe /k "%~dp0meine.cmd"

mit DoppelClick auf MeinStarter.cmd wird deine CMD verarbeitet und das Fenster bleibt offen. Dito, wenn du es auf ein CMD-Window ziehst.

mit etwas Google hättest du das sicher gefunden:

https://www.google.com/search?ei=LM2aX6LrIPnggwfPkrLQCg&q=cmd-file+k ...
Bitte warten ..
Mitglied: AN34Mem
29.10.2020 um 16:40 Uhr
Danke vorab für deine Hilfe.

Ich habe dein Vorschlag wahrscheinlich nicht richtig umgesetzt. Zwar bleiben die beiden "Dos Fenster" immer geöffnet (pause),
aber wenn ich zum Beispiel die Test.txt in das "DOS Fenster" ziehe, kommt es zu keiner Bearbeitung (Umbenennung).

Ziehe ich die test.txt auf die Datei "meine.cmd", wird diese einwandfrei umbenannt.

https://administrator.de/images/c/1/6/73ed9b29860075c6bc320222f1487931.j ...
screen - Klicke auf das Bild, um es zu vergrößern
Bitte warten ..
Mitglied: rubberman
LÖSUNG 29.10.2020 um 19:04 Uhr
Geht nicht. Der Console Host als Bereitsteller des Fensters müsste dann die auf das Fenster gezogene Datei an den cmd.exe Prozess weitergeben, der dann wiederum wissen müsste, wo im gerade abzuarbeitenden Script auf diese Art der Eingabe gewartet werden soll und wo sie verarbeitet werden soll. Das ist nicht vorgesehen. %* und %0 - %9 sind Parametervariablen. Diese bekommen ihre Werte von den an die cmd.exe übergebenen Kommandozeilenargumenten. Die Explorer Shell unterstützt diese Art der Übergabe durch Drag/Drop auf die Scriptdatei. Aber eine Eingabe auf das geöffnete Konsolefenster ist in dieser Form nicht unterstützt.
Das einzige was unterstützt wird, ist, dass ein Drag/Drop auf ein CMD Shellfenster den Dateipfad hinter den Prompt setzt. Das führt dann bei Drücken von Enter zum Ausführen dieser Datei. Mehr ist nicht ...

Steffen
Bitte warten ..
Mitglied: TK1987
LÖSUNG 29.10.2020 um 20:51 Uhr
Moin,

Zitat von rubberman:
Die Explorer Shell unterstützt diese Art der Übergabe durch Drag/Drop auf die Scriptdatei. Aber eine Eingabe auf das geöffnete Konsolefenster ist in dieser Form nicht unterstützt.
Das einzige was unterstützt wird, ist, dass ein Drag/Drop auf ein CMD Shellfenster den Dateipfad hinter den Prompt setzt. Das führt dann bei Drücken von Enter zum Ausführen dieser Datei. Mehr ist nicht ...
... , zumindest nicht mit Batch.

Mit Powershell hingegen wäre es möglich, eine kleine GUI zu basteln, die Dateien per Drag&Drop annimmt und dann damit die gewünschten Aktionen durchführt. Um hier abhilfe schaffen zu können, wären allerdings mehr Infos notwendig, welche Aufgaben das Skript erledigen soll.

Gruß Thomas
Bitte warten ..
Mitglied: AN34Mem
29.10.2020 um 20:55 Uhr
Danke Steffen für diese ausführliche und nachvollziehbare Erklärung.

Auch nochmals ein "DANKE" an "mayho33" für die aufgebrachte Geduld,
und geopferte Zeit eine Lösung für das Problem zu finden.

Viele Grüße
Bitte warten ..
Mitglied: AN34Mem
29.10.2020, aktualisiert um 21:27 Uhr
Ein kleines "GUI Beispiel" wie so etwas aussehen könnte wäre sehr interessant.

Es müsste auch nicht viel können, vielleicht mit einer Art Auswahlmenü z.B. um Dateien umbenennen,
oder Dateien in ein anderes VZ kopieren zu lassen. Nichts großes.

Damit hätte man ein Gerüst, und könnte sich die Sache anschauen und weiter ausbauen.
Momentan habe ich leider keinerlei Ahnung wie sowas aussehen könnte.

Vielleicht hat jemand schon ein Beispiel Skript, und könnte es zur Verfügung stellen.

Danke Thomas für deinen Hinweis.
Bitte warten ..
Mitglied: TK1987
29.10.2020, aktualisiert um 22:14 Uhr
Mal ein kleines Beispiel wie so etwas aussehen könnte als Schnellschuss...
Es gibt natürlich viele Wege nach Rom. Ich habe hier mal eine Textbox erstellt, in der die Dateien, die per Drag&Drop eingefügt werden, aufgelistest werden.

Als etwas schönere Alternative gäbe es auch ein Gridview (quasi wie eine Excel-Tabelle aufgebaut), bei dem die Dateien in einzelnen Zeilen aufgelistet werden. Da für dieses allerdings eine wesentlich umfangreichere konfiguration nötig ist, dachte ich für den Anfang reicht es so erst mal...

Die Dateien sind anschließend über die Variable $Files erreichbar.
Bitte warten ..
Mitglied: mayho33
30.10.2020, aktualisiert um 00:53 Uhr
Mit einer TXT geht das auch nicht.

Eine cmd oder bat-Dstei muss das sein.

Und warum plötzlich Powershell? Die Rede war von CMD, also comspec.
Bitte warten ..
Mitglied: AN34Mem
30.10.2020 um 05:57 Uhr

Danke Steffen für die Verlinkung.
Bitte warten ..
Mitglied: AN34Mem
30.10.2020, aktualisiert um 06:18 Uhr
Zitat von mayho33:

Und warum plötzlich Powershell? Die Rede war von CMD, also comspec.

Ja. Meine Frage hat sich auf cmd / bat bezogen.

Es wäre toll gewesen, wenn es zu einer Lösung diesbezüglich gekommen wäre.
Aber wie "rubberman" schreibt, ist das aus seinen genannten Gründen leider nicht möglich.

Eine Alternative mit einer Powershell Gui aufzuzeigen finde ich sehr interessant, insbesondere
wenn man Laie auf diesem Gebiet ist.

Deine oben genannten Weg A) und B) fand ich auch einen guten Ansatz.
Ich muss gestehen, dass ich an die Einträgen unter "Eigenschaften der Verknüpfung" nicht gedacht habe.

Aber wie sich gezeigt hat, ist das Problem doch größer als ich erst gedacht habe.
Bitte warten ..
Mitglied: AN34Mem
30.10.2020, aktualisiert um 06:39 Uhr
Zitat von TK1987:

Es gibt natürlich viele Wege nach Rom. Ich habe hier mal eine Textbox erstellt, in der die Dateien, die per Drag&Drop eingefügt werden, aufgelistest werden.

Danke für dein Beispiel: "TK1987".

Unter der Verlinkung von "Steffen" findet man das
Beispiel Skript: "A drag-and-drop GUI made with PowerShell".

Im Grunde eine Stufe weiter...
Empfehlenswert sich einmal anzuschauen.
Bitte warten ..
Mitglied: mayho33
02.11.2020 um 12:07 Uhr
Zitat von AN34Mem:

Zitat von mayho33:

Und warum plötzlich Powershell? Die Rede war von CMD, also comspec.

Ja. Meine Frage hat sich auf cmd / bat bezogen.

Es wäre toll gewesen, wenn es zu einer Lösung diesbezüglich gekommen wäre.
Aber wie "rubberman" schreibt, ist das aus seinen genannten Gründen leider nicht möglich.


Also ich setze das genauso wie ich es oben beschrieben habe seit Jahren hin und wieder ein, wenn es notwendig ist. Vor allem dann, wenn es darum geht komplexe "Wünsche" für Benutzer auf dem Desktop bereitzustellen. Da bekommt das CMD noch ein nettes Icon und einen sprechenden Namen, Fertig! Der User macht einen DoppelKlick oder zieht das CMD-File auf eine seiner EXEn und das Ding läuft.

Vielleicht habe ich da ja einen Denkfehler, aber aktuell kann ich nicht nachvollziehen wo da die beschriebene Einschränkung sein soll.

Grüße!

Lese es dir nochmal in Ruhe durch und setze es genau so um.
Bitte warten ..
Mitglied: rubberman
02.11.2020 um 12:49 Uhr
Mein Verständnis: Ein Batchscript soll eine Aufgabe an irgendwelchen Dateien erledigen (z.B. umbenennen). Dazu sollen die Dateien die umbenannt werden sollen auf das geöffnete Scriptfenster gezogen werden.
Das geht aber nicht. Du kannst nicht beliebige Dateien auf ein Fenster ziehen und in einem Script verarbeiten. Du kannst nur eine Datei in den CMD Prompt ziehen und diese anschließend ausführen. Vielleicht habe ich aber auch irgendwas falsch verstanden ...

Steffen
Bitte warten ..
Heiß diskutierte Inhalte
Off Topic
Wie geht ihr mit grantigen "Kunden" um?
AbstrackterSystemimperatorErfahrungsberichtOff Topic24 Kommentare

Moin Kollegen, mal eine Offtopic Frage in die Runde gestellt. Wie geht ihr mit grantigen "Kunden" (interne IT) / ...

Windows Server
Druckserver Domäne GPO
arik12FrageWindows Server22 Kommentare

Hallo zusammen, Ich möchte einen Druckserver einrichten und Drucker auf dem Druckserver installieren. Die Drucker sollen dann per GPO ...

Netzwerke
Sicherheitsbetrachtung virtualisierte Umgebung
gelöst Philipp711FrageNetzwerke22 Kommentare

Hallo liebe Community, ich habe eine kleine Frage bzgl. der Netzwerksicherheit in virtualisierten Umgebungen. Beispiel: Ich habe einen Hypervisor ...

Exchange Server
Exchg2016: ECP-Anzeigefehler oder echtes Problem?
winackerFrageExchange Server13 Kommentare

Hallo, mein Exchg16 (auf SRV16) hat ein Phäomen was bislang keiner aufklären kann - und ich weiß nicht ob ...

Off Topic
Adventskalender 2020
LochkartenstanzerInformationOff Topic12 Kommentare

Was haltet ihr von einer Sammlung von Adventskalendern? (Hier im Thread z.B.) Ich fang mal mit dem Heise-Kalender an: ...

Server-Hardware
Hp Proliant ml350 g5 kommt nicht zum POST
jetstream3000FrageServer-Hardware12 Kommentare

Hallo Forum So hab mir einen Hp Server zum herumprobieren gekauft hat auch alles funktioniert hat zwei Intel Xeon ...

Ähnliche Inhalte
Batch & Shell

Windows Batch - Drag and Drop - prüfen ob Parameter leer

gelöst zimbosmurfFrageBatch & Shell2 Kommentare

Hallo! Ich habe ein Batch-Skript für eine Backuproutine entworfen, das aufgerufen werden soll, indem man einen Ordner auf das ...

Visual Studio

GridView mit Drag-n-Drop oder vergleichbares

gelöst Aicher1998FrageVisual Studio7 Kommentare

Guten Abend, nachdem ich bereits seit 4 Tagen an einem UserControl in C# getüftelt hab, aber nichts brauchbares geschafft ...

Exchange Server

Drag and Drop Weiterleitung in Ordner möglich?

EdaseinsFrageExchange Server5 Kommentare

Hallo liebe Community, meine Frage ist schlicht, aber ich finde kaum bis gar kein Material dazu Kann man im ...

C und C++

C-Sharp WPF ListView Drag and Drop mit SelectionChangedEvent

gelöst mayho33FrageC und C++2 Kommentare

Hallo @ All! Ich versuche Drag'n'Drop in einer ListView<T> umzusetzen. Jedoch feuert SelectionChangedEventArgs nicht mehr. Hoffe es kann mir ...

Windows 10

W10 1903 - kein Drag and Drop mehr auf Verknüpfungen möglich ?

gelöst HenereFrageWindows 102 Kommentare

Servus zusammen, mir ist eben nach dem einspielen der letzten Updates aufgefallen, dass ich keine Dateien mehr per Drag&Drop ...

Windows 10

Windows 10 Spring Creators Update (1803) und WinSCP Drag-n-Drop-Problem

gelöst PedantFrageWindows 104 Kommentare

Hallo, mehr ein Hinweis, denn eine Frage, wobei ich für eine Anregung dankbar wäre, mit der ich das hier ...

Neue Fragen
Administrator Magazin
11 | 2020 Virtualisierung ist aus der IT nicht mehr wegzudenken. In der November-Ausgabe des IT-Administrator Magazins dreht sich der Schwerpunkt um das Thema "Server- und Storage-Virtualisierung". Darin erfahren Sie, wie sich die Virtualisierungstechnologie entwickelt hat, welche Varianten es im Bereich Server und Speicher gibt und wie ...
Neue Beiträge
Neue Jobangebote
Server- und Storage-VirtualisierungServer- und Storage-VirtualisierungBerechtigungs- und IdentitätsmanagementBerechtigungs- und IdentitätsmanagementWebdienste und -serverWebdienste und -serverDatenbankenDatenbankenMonitoring & SupportMonitoring & SupportHybrid CloudHybrid Cloud