Schrift
[thread]8402[/thread]

Verzeichnis kopieren

Leser: 1


<< |< 1 2 >| >> 17 Einträge, 2 Seiten
shaihulud
 2006-10-10 16:38
#70652 #70652
User since
2006-04-12
76 Artikel
BenutzerIn
[default_avatar]
Hi kann mir jemand helfen und mir sagen wie ich ein Verzeichnis in ein anderes kopieren kann?

Hab mal ein wenig rumgeguckt und habe rausgefunden dass einige meinen dass man das mit use File::Copy; machen könnte aber das Bsp dass ich gefunden hab kopiert nur files keine directory.

Wäre sehr lieb wenn mir jemand ein Bsp posten könnte :)
frodus
 2006-10-10 17:10
#70653 #70653
User since
2003-09-26
147 Artikel
BenutzerIn
[default_avatar]
Hi,

guck Dir mal 'File::Copy::Recursive' das könnte genau das
sein was Du suchst.

/Frodus

P.S.: Wie kann ich eigentlich den cpan button im forum benutzen?
Wenn ich da ein Modul eintrage kommt immer wieder ein neues
Fenster mit der Aufforderung ein Modul einzutragen.
renee
 2006-10-10 17:12
#70654 #70654
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Schau mal nach CPAN:File::NCopy...
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/
renee
 2006-10-10 17:15
#70655 #70655
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
[quote=frodus,10.10.2006, 15:10][...]
P.S.: Wie kann ich eigentlich den cpan button im forum benutzen?
Wenn ich da ein Modul eintrage kommt immer wieder ein neues
Fenster mit der Aufforderung ein Modul einzutragen.[/quote]
Nicht immer wieder!

Das erste Fenster ist der Name, nach dem auf CPAN gesucht werden soll, das zweite Mal eine Beschreibung...

Dann kann man nämlich so etwas machen wie [_cpan=File::NCopy]Modul zum rekursiven Kopieren[/cpan] und erhält dann (ohne den Unterstrich): CPAN:Modul zum rekursiven Kopieren

File::NCopy muss dann als erstes eingegeben werden und das "Modul zum..." im zweiten Fenster...
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/
frodus
 2006-10-10 17:23
#70656 #70656
User since
2003-09-26
147 Artikel
BenutzerIn
[default_avatar]
@renee,

Danke!
Noisebreath
 2006-10-10 17:37
#70657 #70657
User since
2006-04-14
72 Artikel
BenutzerIn
[default_avatar]
aasd\n\n

<!--EDIT|Noisebreath|1160487653-->
shaihulud
 2006-10-10 17:42
#70658 #70658
User since
2006-04-12
76 Artikel
BenutzerIn
[default_avatar]
@renee

danke für information jedoch mache ich scheinbar etwas falsch
Code: (dl )
1
2
3
4
5
use File::NCopy qw(copy);


copy \1,"C:\Beispielordner\Beispielordner\",
"C:\Beispielordner\Beispielordner2\";


Fehlermeldung:

Can't locate File/NCopy.pm in @INC (@INC contains: . c:/Perl/site/lib c:/Perl/li
b) at main.pl line 235.
BEGIN failed--compilation aborted at main.pl line 235.

Was mache ich falsch?
renee
 2006-10-10 17:47
#70659 #70659
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Dann ist das Modul wohl nicht Wiki:installiert!

@pq: Willst Du nicht wirklich mal einen Patch für die Doku schicken?
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/
shaihulud
 2006-10-10 17:51
#70660 #70660
User since
2006-04-12
76 Artikel
BenutzerIn
[default_avatar]
@renee
Dann muss ich eine andere Möglichkeit finden Verzeichnisse zu kopieren, da mein Programm am ende an jedem Pc im Krankenhaus funktionieren muss und die haben dann wahrscheinlich meistens auch nicht das modul, oder sehe ich das falsch?

äbe es dann noch eine andere Möglichkeit?
esskar
 2006-10-10 18:39
#70661 #70661
User since
2003-08-04
7321 Artikel
ModeratorIn

user image
wohl irgendwie so!

Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
use File::Copy ();

sub copy_recursive {
  my ($src, $dst) = map { noslashatend( dos2unix($_) ) } @_;
  die "Not a directory" unless -d $src;
  mkdir $dst;
 
  if(opendir(my $dir, $src)) {
     while(my $file = readdir $dir) {
        next if $file =~ m!^\.\.?$!;
       
        my $srcpath = "$src/$file";
        my $dstpath = "$dst/$file";
        if(-d $srcpath) {
           copy_recursive( $srcpath, $dstpath );
        } else {
           File::Copy::copy( $srcpath, $dstpath );
        }
     }
     closedir $dir;
  }
}

sub noslashatend {
  my $path = shift || '';
  $path =~ s!/+$!;
  return $path;
}

sub dos2unix {
 my $path = shift || '';
 $path =~ s!\\!/!g;
 return $path;
}


anwendung:
Code: (dl )
copy_recursive("c:\\foo", "c:\\bar");
\n\n

<!--EDIT|esskar|1160497122-->
<< |< 1 2 >| >> 17 Einträge, 2 Seiten



View all threads created 2006-10-10 16:38.