php.de

Zurück   php.de > php.de Intern > Off-Topic Diskussionen

Off-Topic Diskussionen Mach mal Pause vom Programmieren!

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 29.07.2011, 17:54  
Neuer Benutzer
 
Registriert seit: 29.07.2011
Beiträge: 9
PHP-Kenntnisse:
Anfänger
iGore befindet sich auf einem aufstrebenden Ast
Standard [Erledigt] php in Windows-Konsole

Hallo,

folgende Problemstellung: Ich habe mir im Windows Kontextmenü per Registryeintrag einen Menüeintrag erstellt dessen Schlüsselwert folgendermaßen aussieht:

"C:\Program Files (x86)\PHP\php.exe" C:\Kontext\main.php "%1"

Sprich, ich kann nun eine beliebige Datei per Rechtsklick auswählen und mein php-Skript(main.php) öffnet sich. Über argv[1] erhalte ich nun den Pfad meiner beliebigen Datei in meinem php-Skript. (Randbemerkung: Mein php-Skript öffnet ein dieser Stelle ein Zenity-Menü wo abgefragt wird was mit dieser Datei geschehen soll.)
Wenn ich jetzt 2 oder mehrere beliebige Datein auf diese Art und Weise mit meinem php-Skript öffne, öffnet sich auch für jede dieser Dateien ein Konsolenfenster.

Meine Frage daher: Fällt euch eine Möglichkeit ein, viele beliebige Datein auf die oben beschriebene Art und Weise in nur einem Konsolenfenster zu laden, so dass ich die Pfadnamen in mein php-Skript kriege?

Grüße,

iGore
iGore ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 29.07.2011, 20:03  
da schreibt der ElePHPant
 
Benutzerbild von Flor1an
 
Registriert seit: 18.06.2008
Beiträge: 8.903
PHP-Kenntnisse:
Fortgeschritten
Flor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer Anblick
Standard

Eine Batch Datei anlegen und dort drin die Befehle ausführen?
Flor1an ist offline   Mit Zitat antworten
Alt 29.07.2011, 20:13  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 35.987
PHP-Kenntnisse:
Fortgeschritten
nikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunft
Standard

Zitat:
Wenn ich jetzt 2 oder mehrere beliebige Datein auf diese Art und Weise mit meinem php-Skript öffne, öffnet sich auch für jede dieser Dateien ein Konsolenfenster.
Das ist ja dann wohl ein direkter Effekt der Aufrufmethode und hat folglich auch nichts in diesem Forum zu suchen.

[MOD: verschoben]
__________________
--
One pixel is still too big. Please make it smaller. ASAP.

Initiative Mittelstand.
Die wichtigste Gestaltungsregel im Screendesign ist Pi mal Daumen des Arbeitgebers.
--
nikosch ist offline   Mit Zitat antworten
Alt 29.07.2011, 21:56  
Neuer Benutzer
 
Registriert seit: 29.07.2011
Beiträge: 9
PHP-Kenntnisse:
Anfänger
iGore befindet sich auf einem aufstrebenden Ast
Standard Batch-Datei

Zitat:
Zitat von Flor1an Beitrag anzeigen
Eine Batch Datei anlegen und dort drin die Befehle ausführen?
Ok, den Gedanken hatte ich auch. Meine ausgewählten Dateien mit einer Batch-Datei anstatt mit mit meiner main.php zu öffnen. Aus dem Batch Script heraus könnte ich auch meine main.php öffnen. Nur wie übergebe ich vorher die Pfade an meine Batch-Datei.

Grüße,

iGore

PS: Danke fürs verschieben.
iGore ist offline   Mit Zitat antworten
Alt 30.07.2011, 17:50  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 35.987
PHP-Kenntnisse:
Fortgeschritten
nikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunft
Standard

Ich bezweifle dass das einen Unterschied macht. Wie gesagt - offenbar ist der Aufruf über das Kontextmenü so gestaltet, dass für jedes ausgewählte Element ein Prozess gestartet wird. Anders wäre Dein Status quo nämlich nicht zu erklären.
__________________
--
One pixel is still too big. Please make it smaller. ASAP.

Initiative Mittelstand.
Die wichtigste Gestaltungsregel im Screendesign ist Pi mal Daumen des Arbeitgebers.
--
nikosch ist offline   Mit Zitat antworten
Alt 31.07.2011, 17:24  
Neuer Benutzer
 
Registriert seit: 29.07.2011
Beiträge: 9
PHP-Kenntnisse:
Anfänger
iGore befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von nikosch Beitrag anzeigen
Ich bezweifle dass das einen Unterschied macht. Wie gesagt - offenbar ist der Aufruf über das Kontextmenü so gestaltet, dass für jedes ausgewählte Element ein Prozess gestartet wird. Anders wäre Dein Status quo nämlich nicht zu erklären.
Ihr kennt sicherlich das "Enqueue in Winamp" Kontextmenü. Hab in der Registry für Winamp einen Schlüssel gefunden der folgendmaßen aussieht:

"C:\Program Files (x86)\Winamp\winamp.exe" /ADD "%1"

Leider klappt der ADD-Parameter in meinem Aufruf nicht. Ich weiss jedoch, dass man auf Mac und Linux mehrere Dateien in einer einzigen Shell öffnen kann und dann über argv[] die Pfadangaben bekommt. Es muss doch eine Möglichkeit bestehen auch der Windows Konsole über den Aufruf zu sagen, dass er nur ein Terminal öffnet.

Grüße,

iGore
iGore ist offline   Mit Zitat antworten
Alt 31.07.2011, 17:35  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 35.987
PHP-Kenntnisse:
Fortgeschritten
nikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunft
Standard

Tja, dann wird Winamp (zumindest die Playlistverwaltung) vermutlich als Service fungieren. Eine Konsolenanwendung ist aber kein Service. Der Parameter ADD weist darauf hin, dass hier eine laufende Anwendungs angesprochen wird. Das hast Du aber nicht, wenn Du eine Batch startest, PHP durchläuft und dann fertig ist.
Zitat:
Ich weiss jedoch, dass man auf Mac und Linux mehrere Dateien in einer einzigen Shell öffnen kann
Mit Verlaub - solche Vergleiche sind doch Quatsch. Außerdem kann Windows auf der Konsole mit mehreren Parametern umgehen und damit auch argv als Array an PHP liefern. Nur hat das immer noch nichts mit dem Problem zu tun.

Mal ganz davon ab liefert der Batchparameter %1 auch nur genau einen Parameter aus.


Beschreib lieber mal, was Dein Script tut.
.
__________________
--
One pixel is still too big. Please make it smaller. ASAP.

Initiative Mittelstand.
Die wichtigste Gestaltungsregel im Screendesign ist Pi mal Daumen des Arbeitgebers.
--
nikosch ist offline   Mit Zitat antworten
Alt 31.07.2011, 18:14  
Neuer Benutzer
 
Registriert seit: 29.07.2011
Beiträge: 9
PHP-Kenntnisse:
Anfänger
iGore befindet sich auf einem aufstrebenden Ast
Standard Datein umbennen

Zitat:
Zitat von nikosch Beitrag anzeigen
Tja, dann wird Winamp (zumindest die Playlistverwaltung) vermutlich als Service fungieren. Eine Konsolenanwendung ist aber kein Service. Der Parameter ADD weist darauf hin, dass hier eine laufende Anwendungs angesprochen wird. Das hast Du aber nicht, wenn Du eine Batch startest, PHP durchläuft und dann fertig ist.
Mit Verlaub - solche Vergleiche sind doch Quatsch. Außerdem kann Windows auf der Konsole mit mehreren Parametern umgehen und damit auch argv als Array an PHP liefern. Nur hat das immer noch nichts mit dem Problem zu tun.

Mal ganz davon ab liefert der Batchparameter %1 auch nur genau einen Parameter aus.


Beschreib lieber mal, was Dein Script tut.
.
Ich werde mal in kleinsten Schritten beschreiben was ich vorhabe:

Ich markiere in einem Ordner eine unbestimmte Anzahl von Dateien, z.B. Textdatein. Rechtsklich auf einer dieser Datein und wähle meinen selbstangelegten Kontextmenüeintrag aus.
Soweit so gut...

An dieser Stelle wird die PHP.exe geöffnet mit meiner mein.php. Über den system()-Befehl öffne ich aus meinem Skript hraus ein Zenity-DropDown-Menü (Anm.: Mit Zenity können Dialoge auf Konsolen-Ebene aufgerufen werden) In diesem Menü befinden sich Funktionen, die mit den geöffneten Dateien durchgeführt werden können.
Die erste Funktion soll diese Dateien umbennen.

Problem ist jetzt, dass wenn ich viele Dateien markiere und über das Kontextmenü öffne, für jedes dieser Dateien eine Konsole geöffnet wird und ich demenstsprechend mit $argv[1]; pro Konsole nur eine Pfadangabe bekomme. Mein Ziel ist es, dass sich nur eine Konsole öffnet in der ich alle meine Pfadangaben von den markierten Dateien bekomme.

Grüße,

iGore
iGore ist offline   Mit Zitat antworten
Alt 31.07.2011, 19:56  
Erfahrener Benutzer
 
Registriert seit: 03.08.2010
Beiträge: 1.141
PHP-Kenntnisse:
Anfänger
hausl wird schon bald berühmt werdenhausl wird schon bald berühmt werden
Standard

Eigenet sich das nicht für sowas besser eine Batch, VBScript oder AutoIt oder sowas?? Welche "Operationen" machst Du denn mit den ausgewählten Files?

Ich habe sowas vom prinzip her (nur halt für Bilder) mal gemacht, aber mit VBScript, aber das ging auch mit mehreren..

Kennst Du das "Senden an ..." mit der rechten Maustaste... dort hab ich eine Verknüpfung auf das VBScript reingesetzt und wenn man mehr Datein markiert hat und dann mit rechter Maus "Senden an... " auf mein VBScript gezeigt hat dann wurde dieses genau einmal gestartet mit allen Dateinamen als Parameter die ich vorher markiert hab...

LG
__________________
Keine Zahl != ein Zeichen das keine Zahl ist

Geändert von hausl (31.07.2011 um 19:59 Uhr).
hausl ist offline   Mit Zitat antworten
Alt 31.07.2011, 19:57  
Moderator¹
 
Registriert seit: 28.03.2010
Beiträge: 7.470
PHP-Kenntnisse:
Fortgeschritten
ChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer Anblick
Standard

Zitat:
Zitat von iGore Beitrag anzeigen
"C:\Program Files (x86)\Winamp\winamp.exe" /ADD "%1"

Leider klappt der ADD-Parameter in meinem Aufruf nicht.
Für was, für die php.exe?

Na dass die keine Winamp-spezifischen Parameter akzeptieren mag, finde ich jetzt nicht so verwunderlich ...
__________________
RGB is totally confusing - I mean, at least #C0FFEE should be brown, right?
ChrisB ist offline   Mit Zitat antworten
Antwort


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Windows + Apache + PHP + Imagick Chriz Tutorials 23 19.09.2011 16:15
[Erledigt] windows 7 oem rudygotya Off-Topic Diskussionen 25 30.04.2011 15:33
Wie am besten Script über Browser auf der Konsole starten smilla PHP Einsteiger 5 15.01.2011 14:46
[Erledigt] vista, windows update Fehler 80070422 Screeze Off-Topic Diskussionen 3 23.09.2009 18:24
[Erledigt] htaccess unter windows anlegen? litterauspirna Server, Hosting und Workstations 6 12.09.2009 14:25
Konsole öffnen Anaviel PHP Tipps 2009 10 21.07.2009 10:13
MySQL Konsole und Umlaute unter Windows louis Wiki Diskussionsforum 0 02.04.2009 00:36
MySQL Konsole und Umlaute unter Windows [LÖSUNG] f4ckm5 Datenbanken 8 30.03.2009 22:10
[Erledigt] WAMP unter Windows 2000 Server oder Windows 2003 Server Mecronomecon Server, Hosting und Workstations 3 18.06.2008 09:15
Service Pack für Windows Vista doch schon fast fertig? PHP Tipps 2007 0 03.08.2007 12:06
Probleme mit IE7 und transparentem Hintergrund oschmidt HTML, Usability und Barrierefreiheit 15 04.05.2007 20:47
Frage zu Windows Server 2003 b++ Off-Topic Diskussionen 1 03.03.2006 09:41
[Erledigt] browsererkennung; wie kann man einen firefox von... PHP Tipps 2005-2 17 25.07.2005 22:35
Festplatten-, Windows, PartitionMagic, SuSE-Linux - Problem Quadaptor Off-Topic Diskussionen 14 09.04.2005 19:01
Windows Install Shield Problem Off-Topic Diskussionen 1 23.02.2005 09:53

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
php konsolenanwendung, windows konsole php ausgabe, php -r konsole

Alle Zeitangaben in WEZ +2. Es ist jetzt 17:15 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum