system und Pfadangaben

system und Pfadangaben

am 24.03.2006 15:55:35 von Mario Ospelt

Hallo,

Ich möchte mit system(start excel $file) eine Excel Datei öffnen. Habe
zwei Fragen dazu:

1. Wie kann ich das ganze unabhängig von excel machen. Will heissen,
dass das System einfach das Standardprogramm für .xls Dateien startet?
(z.B. unter Linux Openoffice und unter Win Excel)

2. $file enthält den kompletten Pfad zur Datei. Wenn Leerzeichen darin
vorkommen, kann die Datei nicht geöffnet werden. Wie kann ich dieses
Problem beheben?

Gruss
Mario

Re: system und Pfadangaben

am 24.03.2006 17:38:56 von joerg.hubele

Mario Ospelt wrote:
> Ich möchte mit system(start excel $file) eine Excel Datei öffnen. Habe
> zwei Fragen dazu:
>
> 1. Wie kann ich das ganze unabhängig von excel machen. Will heissen,
> dass das System einfach das Standardprogramm für .xls Dateien startet?
> (z.B. unter Linux Openoffice und unter Win Excel)
start excel weglassen

> 2. $file enthält den kompletten Pfad zur Datei. Wenn Leerzeichen darin
> vorkommen, kann die Datei nicht geöffnet werden. Wie kann ich dieses
> Problem beheben?
Anführungszeichen um den Dateinamen

schlicht und einfach

system "\"file\"";

sollte genügen, vorrausgesetzt dass ein Standardprogramm eingerichtet ist.

Jörg

Re: system und Pfadangaben

am 24.03.2006 21:11:32 von Frank Seitz

Jörg Hubele wrote:
> Mario Ospelt wrote:
>
>>Ich möchte mit system(start excel $file) eine Excel Datei öffnen. Habe
>>zwei Fragen dazu:
>>
>>1. Wie kann ich das ganze unabhängig von excel machen. Will heissen,
>>dass das System einfach das Standardprogramm für .xls Dateien startet?
>>(z.B. unter Linux Openoffice und unter Win Excel)
>
> start excel weglassen

Dabei kommt unter Unix/Linux sicherlich nicht das Gewünschte raus.

Grüße
Frank
--
Dipl.-Inform. Frank Seitz; http://www.fseitz.de/
Anwendungen für Ihr Internet und Intranet
Tel: 04103/180301; Fax: -02; Industriestr. 31, 22880 Wedel

Re: system und Pfadangaben

am 24.03.2006 21:47:56 von Christian Garbs

Mahlzeit!

Mario Ospelt wrote:

> Ich möchte mit system(start excel $file) eine Excel Datei
> öffnen. Habe zwei Fragen dazu:

> 1. Wie kann ich das ganze unabhängig von excel machen. Will heissen,
> dass das System einfach das Standardprogramm für .xls Dateien
> startet? (z.B. unter Linux Openoffice und unter Win Excel)

Unter Windows über system("start $file").

Unter Linux gar nicht (so einfach). Es gibt kein Standardverfahren
für Verknüpfungen von Dateien zu Programmen (außer vielleicht dem
Binary-Loader im Kernel, aber Excel-Dateien vertragen keinen Shebang).
Falls metamail installiert ist, könntest du z.B. das benutzen. Falls
das nicht installiert ist, musst du dir was anderes überlegen.

> 2. $file enthält den kompletten Pfad zur Datei. Wenn Leerzeichen
> darin vorkommen, kann die Datei nicht geöffnet werden. Wie kann ich
> dieses Problem beheben?

Shellquoting unter Windows habe ich noch nie durchschaut :-)
Manchmal reicht es, den Dateinamen in Anführungszeichen zu setzen.

Gruß,
Christian
--
sub _{print"\n"}_;for(;$s<9;++$s){$_='1E2018201E00001E2018201E00001E2018201'
..'E002020001C2222221400005CA2A2A27C02001C2222221C20003E0402 02201F2422221C00'
..'242A2A2A12002020001C2222221F20001C2A2A2A0C';while(s;(..); ;){printf'%c',hex
$1&1<<$s?40:32}_}$_=':::Christian Garbs:',y;:;\t;;print;_;_

Re: system und Pfadangaben

am 24.03.2006 22:46:09 von Tony Muler

Jörg Hubele wrote:
> Mario Ospelt wrote:
>
> system "\"file\"";

Irgendjemand (wer?) hatte hier doch mal die nette Signatur:
\" verursacht Augenkrebs
oder so.

Entschuldigung ... musste jetzt sein.

Re: system und Pfadangaben

am 25.03.2006 01:02:52 von joerg.hubele

Frank Seitz wrote:
> Jörg Hubele wrote:
>> start excel weglassen
>
> Dabei kommt unter Unix/Linux sicherlich nicht das Gewünschte raus.

Wohl kaum, danke, ich vergaß zu erwähnen, dass sich dies auf Windows bezog,
und auch dort wahrscheinlich nicht auf alle Versionen.

Am besten meinen Beitrag einfach ignorieren und Christians lesen.

Jörg

Re: system und Pfadangaben

am 25.03.2006 01:06:39 von joerg.hubele

Tony Muler wrote:
> Jörg Hubele wrote:
>> system "\"file\"";
>
> Irgendjemand (wer?) hatte hier doch mal die nette Signatur:
> \" verursacht Augenkrebs
> oder so.

Und ich dachte Perl sei Augenkrebs.

Aber du hast natürlich recht, dass insofern qq'"$file"' die konsequentere
Lösung gewesen wäre, zumal das typographisch korrekte qq„"$file"“ leider
ausscheidet. Vielleicht gibt es im CPAN einen passenden Filter.

humorvoll,
Jörg

Re: system und Pfadangaben

am 25.03.2006 07:08:16 von Frank Seitz

Jörg Hubele wrote:

> Und ich dachte Perl sei Augenkrebs.

Bei dem einen ist es Augenkrebs, bei dem anderen ist es eine Augenweide.
TMTOWTDI

> Aber du hast natürlich recht, dass insofern qq'"$file"' die konsequentere
> Lösung gewesen wäre, zumal das typographisch korrekte qq„"$file"“ leider
> ausscheidet. Vielleicht gibt es im CPAN einen passenden Filter.

Das klingt nach Aua an einer anderen Stelle im Kopf.
Wer qq// kennt und mitdenkt, entscheidet sich für qq("$file") oder so.

Grüße
Frank
--
Dipl.-Inform. Frank Seitz; http://www.fseitz.de/
Anwendungen für Ihr Internet und Intranet
Tel: 04103/180301; Fax: -02; Industriestr. 31, 22880 Wedel

Re: system und Pfadangaben

am 25.03.2006 20:49:30 von Guido Ostkamp

Christian Garbs wrote:
> Unter Linux gar nicht (so einfach). Es gibt kein Standardverfahren
> für Verknüpfungen von Dateien zu Programmen (außer vielleicht dem
> Binary-Loader im Kernel, aber Excel-Dateien vertragen keinen
> Shebang). Falls metamail installiert ist, könntest du z.B. das
> benutzen. Falls das nicht installiert ist, musst du dir was anderes
> überlegen.

Unter KDE gibt es noch 'kfmclient exec '. Dann werden die MIME
Zuordnung von KDE verwendet und die entsprechende Applikation
gestartet.

Gruß,

Guido