Schrift
[thread]10002[/thread]

Leerzeichen im Pfad



<< >> 7 Einträge, 1 Seite
Spuki
 2007-08-08 19:05
#97790 #97790
User since
2007-07-13
38 Artikel
BenutzerIn
[Homepage] [default_avatar]
ich habe folgendes problem:


Code (perl): (dl )
1
2
3
4
5
6
7
8
9
10
11
# so werden alle verzeichnisse bis zum letzten ordner durchsucht
# und in einem array gespeichert

$vz ="C:/";
                
sub zeige
{
    push(@pathnames, "$File::Find::name"."/") if (-d);
}

find (\&zeige,$vz);


diese pfäde brauch ich um mein 2. skript aufzurufen, welche über einen parameter einen pfad mitgeliefert bekommt.....

soweit so gut, wenn aber im Pfad ein Leerzeichen vorkommt, wird ein Fehler geworfen....

bsp:

C:/Ordner1/Ordner 2/foo.txt

wird nur folgender teil übergegeben

C:/Ordner1/Ordner

kann mir jemand bei diesem problem helfen??? (hat aber bis morgen zeit, mach jetzt feierabend :D)

mfg spuki
$^="2rehtona 3lrep 1tsuj 4rekcah";@~=sort split/ /,$^;_(
_(_(_())));sub _{print$^=reverse substr$~[0],1;shift@~;}

...erster Versuch eines JAPH :D
betterworld
 2007-08-08 19:10
#97792 #97792
User since
2003-08-21
2613 Artikel
ModeratorIn

user image
Ich sehe da keinen Fehler. Zeig doch mal den Code, mit dem das Array dann ausgegeben wird.

Spuki+2007-08-08 17:05:37--
Code (perl): (dl )
    push(@pathnames, "$File::Find::name"."/") if (-d);


Die Gänsefüßchen um $File::Find::name sind übrigens überflüssig.
Spuki
 2007-08-09 11:24
#97814 #97814
User since
2007-07-13
38 Artikel
BenutzerIn
[Homepage] [default_avatar]
$^="2rehtona 3lrep 1tsuj 4rekcah";@~=sort split/ /,$^;_(
_(_(_())));sub _{print$^=reverse substr$~[0],1;shift@~;}

...erster Versuch eines JAPH :D
Spuki
 2007-08-09 15:23
#97816 #97816
User since
2007-07-13
38 Artikel
BenutzerIn
[Homepage] [default_avatar]
ok danke...
$^="2rehtona 3lrep 1tsuj 4rekcah";@~=sort split/ /,$^;_(
_(_(_())));sub _{print$^=reverse substr$~[0],1;shift@~;}

...erster Versuch eines JAPH :D
Spuki
 2007-08-09 11:25
#97818 #97818
User since
2007-07-13
38 Artikel
BenutzerIn
[Homepage] [default_avatar]
das problem muass am system() - Befehl liegen.....

Code (perl): (dl )
1
2
3
my $path = choosePath();

system("perl test.pl -i $path"."$file");


wenn ich mir vorher den $path ausgeben lasse gibt er folgendes aus:

H:/Testumgebung/GC Daten/ --> so stimmt es

wenn ich mein Skript dann ausführe schreibt er:

Error: This file doesnt exist
H:/Testumgebung/GC

was kann ich da machen?


$^="2rehtona 3lrep 1tsuj 4rekcah";@~=sort split/ /,$^;_(
_(_(_())));sub _{print$^=reverse substr$~[0],1;shift@~;}

...erster Versuch eines JAPH :D
pq
 2007-08-09 14:00
#97820 #97820
User since
2003-08-04
12208 Artikel
Admin1
[Homepage]
user image
du musst quotes um den dateinamen rumschreiben. woher soll die shell
das sonst wissen?
Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live. -- Damian Conway in "Perl Best Practices"
lesen: Wiki:Wie frage ich & perlintro Wiki:brian's Leitfaden für jedes Perl-Problem
renee
 2007-08-09 14:16
#97823 #97823
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
system sollte man sowieso mit nem Array aufrufen:

Code (perl): (dl )
1
2
my @args = ("perl", "skript.pl", "-i", "Dateiname mit Leerzeichen");
system( @args );
OTRS-Erweiterungen (http://feature-addons.de/)
Frankfurt Perlmongers (http://frankfurt.pm/)
--

Unterlagen OTRS-Workshop 2012: http://otrs.perl-services.de/workshop.html
Perl-Entwicklung: http://perl-services.de/
<< >> 7 Einträge, 1 Seite



View all threads created 2007-08-08 19:05.