WICHTIG: Der Betrieb von goMatlab.de wird privat finanziert fortgesetzt. - Mehr Infos...

Mein MATLAB Forum - goMatlab.de

Mein MATLAB Forum

 
Gast > Registrieren       Autologin?   

Partner:




Forum
      Option
[Erweitert]
  • Diese Seite per Mail weiterempfehlen
     


Gehe zu:  
Neues Thema eröffnen Neue Antwort erstellen

Verzeichnis löschen mit !rm

 

Gast

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 20.07.2010, 21:02     Titel: Verzeichnis löschen mit !rm
  Antworten mit Zitat      
Hallo!

Mich würde einfach mal interessieren, was mit den Ordnern passiert, die über den Befehl !rm gelöscht werden. Im Papierkorb sind sie ja nicht zu finden, und man wird vorher auch nicht gefragt, ob ein Verzeichnis wirklich gelöscht werden soll (oder gibt es einen Code dafür, dass matlab nochmal nachfragt?).
Ich frage nur, weil man ja aus Versehen sehr wichtige Daten löschen könnte, wenn man ein falsches Verzeichnis angibt. Kennt sich damit jemand aus?

Beispielhafter Code:
Code:
% delete subject directory (including all subdirectories)
eval(sprintf('!rm -rf %s',fullfile(dir_ons_dur,[dir_subj,subj_str])))


Ich danke schonmal!


Jan S
Moderator

Moderator


Beiträge: 11.057
Anmeldedatum: 08.07.10
Wohnort: Heidelberg
Version: 2009a, 2016b
     Beitrag Verfasst am: 20.07.2010, 23:12     Titel: Re: Verzeichnis löschen mit !rm
  Antworten mit Zitat      
Hallo Gast,

Zitat:
Mich würde einfach mal interessieren, was mit den Ordnern passiert, die über den Befehl !rm gelöscht werden.


Diese Ordner werden vom Betriebssystem gelöscht genauso wie wenn man den Befehl "rm ..." in der Kommandozeile (Unix/DOS) eingibt. In den Papierkorb wandern Ordner und Files nur, wenn sie über eine GUI wie z.B. Explorer/ Konquerer/ etc gelöscht werden.

Zitat:
Code:
% delete subject directory (including all subdirectories)
eval(sprintf('!rm -rf %s',fullfile(dir_ons_dur,[dir_subj,subj_str])))

Statt des fehlerträchtigen EVAL kannst Du auch dies benutzen:
Code:
rmdir(folderpath, 's');

Und wenn es einen guten Grund gibt RM vom Betriebssystem ausführen zu lassen, wäre auch dies sicherer als EVAL:
Code:
system(sprintf('rm -rf "%s"', folderpath))


Eine Sicherung läßt sich nicht einbauen, wenn Du den Löschbefehl per ! aufrufst. Du könntest eine eigene Funktion wie "SafeDelete" erstellen, die ähnlich wie RECYCLE und DELETE bei Bedarf die Daten in einen spziellen Ordner kopiert, statt sie zu löschen.

Viel Erfolg, Jan
Private Nachricht senden Benutzer-Profile anzeigen
 
Neues Thema eröffnen Neue Antwort erstellen



Einstellungen und Berechtigungen
Beiträge der letzten Zeit anzeigen:

Du kannst Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.
Du kannst Dateien in diesem Forum posten
Du kannst Dateien in diesem Forum herunterladen
.





 Impressum  | Nutzungsbedingungen  | Datenschutz | FAQ | goMatlab RSS Button RSS

Hosted by:


Copyright © 2007 - 2025 goMatlab.de | Dies ist keine offizielle Website der Firma The Mathworks

MATLAB, Simulink, Stateflow, Handle Graphics, Real-Time Workshop, SimBiology, SimHydraulics, SimEvents, and xPC TargetBox are registered trademarks and The MathWorks, the L-shaped membrane logo, and Embedded MATLAB are trademarks of The MathWorks, Inc.