Schrift
[thread]5832[/thread]

Ordner mit Inhalt löschen



<< |< 1 2 >| >> 20 Einträge, 2 Seiten
stb2050
 2003-10-17 21:02
#64718 #64718
User since
2003-08-14
87 Artikel
BenutzerIn
[default_avatar]
Hi Ihr,

ich würde in Perl gerne einen Ordner löschen (Linux-Server), samt Inhalt. Der Inhalt sind Dateien und weitere Ordner. In diesen weiteren Ordnern sind wiederrum Dateien und Ordner und so weiter.

Gibt es einen Befehl, mit dem ich gleich alles löschen kann, der nicht 1000 Zeilen lang ist?

Viele Grüße
Steffen
betterworld
 2003-10-17 21:06
#64719 #64719
User since
2003-08-21
2613 Artikel
ModeratorIn

user image
rm -rf ordnername
Strat
 2003-10-17 21:48
#64720 #64720
User since
2003-08-04
5246 Artikel
ModeratorIn
[Homepage] [default_avatar]
dabei aber immer aufpassen, dass ordnername nicht irgendwie zu / wird... koennte sonst ein wenig mehr loeschen als eigentlich gewuenscht...

ich wuerde dafuer jedoch kein systemkommando verwenden, sondern CPAN:File::Path -> rmtree
perl -le "s::*erlco'unaty.'.dk':e,y;*kn:ai;penmic;;print"
http://www.fabiani.net/
stb2050
 2003-10-17 23:13
#64721 #64721
User since
2003-08-14
87 Artikel
BenutzerIn
[default_avatar]
Danke ihr beide :-)

Kommt aber leider ein Syntax-Error bei:

rm -rf "../daten/userdaten/user0491";

habe es auch ohne die " versucht. Geht leider auch nicht. Der zu löschende Ordner ist auch vorhanden.

Quote
syntax error at admin/kunden_verwalten_user_loeschen2.cgi line 12, near "rf "../$internmaindir/userdaten/$userid""
Compilation failed in require at admin.cgi line 92.


Viele Grüße
Steffen\n\n

<!--EDIT|stb2050|1066418406-->
Ronnie
 2003-10-17 23:38
#64722 #64722
User since
2003-08-14
2022 Artikel
BenutzerIn
[default_avatar]
rm ist ein Linux Befehl, du musst ihn in also in Backticks setzen. Stellt sich noch die Frage ob deine Rechte zu löschen ausreichen, sonst solltest du sudo verwenden.
stb2050
 2003-10-18 00:09
#64723 #64723
User since
2003-08-14
87 Artikel
BenutzerIn
[default_avatar]
Hi,

habe ich auch probiert, funktioniert leider auch nicht :-(

Habe probiert:

rm -rf `../daten/userdaten/user0491`;
rm -rf `../daten/userdaten/user0491`
sudo `../daten/userdaten/user0491`

Mache ich grundsätzlich etwas falsch oder kann ich den Befehl gar nicht direkt im Perl-Script ausführen?

Viele Grüße
Steffen
jan
 2003-10-18 00:17
#64724 #64724
User since
2003-08-04
2536 Artikel
ModeratorIn
[Homepage] [default_avatar]
richtig, kannst ihn nicht direkt ausführen...

system('rm -rf "../daten/userdaten/user0491"');

oder eben
`rm -rf "../daten/userdaten/user0491"`;
stb2050
 2003-10-18 01:24
#64725 #64725
User since
2003-08-14
87 Artikel
BenutzerIn
[default_avatar]
Jetzt klappt's.
Danke nochmals.

Viele Grüße
Steffen
Strat
 2003-10-18 02:02
#64726 #64726
User since
2003-08-04
5246 Artikel
ModeratorIn
[Homepage] [default_avatar]
ich empfehle, da das perl-modul zu verwenden, weil das plattformunabhaengig ist (rm -rf gibt's unter Windows nur selten) und eine vernuenftige und einfache Fehlerabfrage erlaubt.
perl -le "s::*erlco'unaty.'.dk':e,y;*kn:ai;penmic;;print"
http://www.fabiani.net/
havi
 2003-10-18 13:03
#64727 #64727
User since
2003-08-04
2036 Artikel
BenutzerIn
[Homepage]
user image
... oder so:

Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
C:\>perl -c
#!/usr/bin/perl

use warnings;
use strict;

$^O eq "MSWin32" ? system("deltree Pfad") : system("rm -rf Pfad");

1;
^Z
- syntax OK

C:\>


Gruss
<< |< 1 2 >| >> 20 Einträge, 2 Seiten



View all threads created 2003-10-17 21:02.