Windows Azure Cloud Storage ermöglicht es Ihnen bereits ab 0,10€ pro GB/Monat die Vorteile der Cloud zu nutzen.
Willkommen bei dotnet-snippets.de! Snippet hinzufügen Login Registrieren
Snippets in der Datenbank: 1551 | Anzahl registrierter User: 1841 | Besucher online: 0
Hauptmenü
Home
Top Ten
Zufälliger Snippet
FAQs
.NET Community
dotnet-forum.de
dotnet-kicks.de
Social

RSS Feeds
Rss Alle Snippets
Rss C#
Rss VB.NET
Rss C++
Rss ASP.NET
Partner
Member of Microsoft Community Leader/Insider Program (CLIP)

Schreibschutz einer Datei setzen / entfernen


Autor: Jan Welker
Sprache: C#
Bewertung:
8.59 (7 votes)
Anzahl der Aufrufe: 15778
  
Kick it on dotnet-kicks.de  

Beschreibung:

Setzt oder entfernt den Schreibschutz einer Datei.

benötigte Namespaces:
System.IO


Abgelegt unter: Datei, Schreibschutz, readonly.



C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
/// <summary>
/// Sets the read only attribute.
/// </summary>
/// <param name="fullName">The full name.</param>
/// <param name="readOnly">if set to <c>true</c> [read only].</param>
private static void SetReadOnlyAttribute(string fullName, bool readOnly)
{
    FileInfo filePath = new FileInfo(fullName);
    FileAttributes attribute;
    if (readOnly)
        attribute = filePath.Attributes | FileAttributes.ReadOnly;
    else
        attribute = (FileAttributes) (filePath.Attributes - FileAttributes.ReadOnly);

    File.SetAttributes(filePath.FullName, attribute);
}
Sie haben Fragen zu diesem Snippet oder brauchen Hilfe bei der .NET Entwicklung?
Freundliche und kompetente Entwickler helfen Ihnen gern weiter im Forum für .NET Entwicklung.



Kommentare:
(Zum Schreiben von Kommentaren bitte anmelden.)

Jürgen Gutsch schrieb am:  26.09.2007 09:18:54

cool, danke :-)
Patrick Roocks schrieb am:  08.01.2008 19:01:32

Soweit ich das nachvollziehen kann, arbeitet der "Minus"-Befehl nicht in gwünschter Weise - ist der ReadOnly Flag nicht gesetzt und wird die Funktion mit "false" aufgerufen, so ändert dieser Befehl andere Flags (hidden, etc...) So funktioniert es (und so arbeitet man imo mit Flags im Generellen):
attribute = filePath.Attributes & ~FileAttributes.ReadOnly;

(und so entfällt auch der Cast)
Flags sind binäre 0en oder 1en in einem Zahlenwert, möchte man einen Flag setzten, so verwendet man binäres Oder (ein |), dies ist im Snippet richtig. Möchte man einen Flag entfernen, so verwendet man binäres Und (ein |) mit der Negation des Flags, d.h. mit einer Kette von 1en die nur bei der gewünschten Stelle selbst eine 0 hat (man nennt das auch: Die übrigen 0en und 1en maskieren)
Günther Foidl schrieb am:  23.11.2008 12:38:23

Das ganze Snippet kann verkürzt werden indem das ReadOnly-Bit umgeschalten wird:

attribute ^= FileAttributes.ReadOnly;


Diese Snippets könnten für Sie interessant sein:
[VB.NET] Datei im Explorer anzeigen und markieren
[C#] Datei anlegen
[C#] Aktuelles Verzeichnis auslesen
[VB.NET] CRC32 Hash einer Datei berechnen
[VB.NET] Den MD5 Hash einer Datei ermitteln
[VB.NET] Datei mittels Windows Dialog löschen
[VB.NET] Datei mittels Windows Dialog verschieben
[VB.NET] Datei mittels Windows Dialog kopieren
[VB.NET] Den SHA1 Hash einer Datei ermitteln
[VB.NET] Prüfen ob Datei gerade benutzt wird
[C#] Dateien in die Zwischenablage kopieren
[ASP.net] Textdatei zum Download anbieten
[C#] MD5-Hash von Dateien ermitteln
[C#] Arraylist in Textdatei schreiben
[C#] Textdatei in Arraylist speichern
[C#] SHA-1 Hash einer Datei erzeugen
[VB.NET] Datei Paketweise Kopieren
[ASP.net] Datei nach Bildupload prüfen
[C#] Dateien suchen mit LINQ
[C#] Datei/Ordner durch Erweiterungsmethoden abfragen
[C#] Datei-Eigenschaften zeigen (Eigenschaften-Fenster)
[C#] CSV Dateien schreiben
[C#] Create Nice File Size in C#
[VB.NET] Programmpfad mittels Erweiterung ermitteln in VB
[VB.NET] Dateien nach Datum sortieren
[C#] CSV und XML-Datei Datenbank-Import (incl. valid-check)
[C#] Datei umbenennen
[C#] Datei im Windows-Explorer anzeigen und markieren
[VB.NET] File Owner / File Besitzer
[VB.NET] wie in der CMD Pfad zu Datei ermitteln anhand des EXE-namens
[C#] Anzahl der Dateien in einem Ordner ermitteln
[VB.NET] Dateigröße als formatierter String
[VB.NET] Alle Dateien eines Ordners auflisten
[VB.NET] Den kurzen Pfad einer Datei ermitteln (8.3 Format)
[VB.NET] Klasse für Dateisuche
[C#] Erzeugen eines zufälligen Strings
[VB.NET] Dummy Datei erstellen
[C#] Datei in Papierkorb verschieben
[C#] Zeilen einer Datei zählen
[ASP.net] Eine Datei zum Download anbieten
[VB.NET] Prüfen ob Dateiattribut vorhanden ist
[VB.NET] Bestimmtes Dateiattribut entfernen
[VB.NET] Datei ein bestimmtes Attribut geben
[VB.NET] Prüfen ob Datei eine EXE Datei ist
[C#] Prüfen, ob eine Datei ausfürbar ist (.exe, .bat, etc.)
[C#] Alle Dateien eines Ordners auflisten - C# Version -
[C#] eindeutigen Dateinamen ermitteln
[VB.NET] Datei-Inhalt anzeigen
[C#] Dateien und Ordner rekursiv löschen
[C#] Stream in Datei umleiten
[C#] Ordnergröße ermitteln
[C#] Automatisches Umbenennen eines Pfades
[C#] Kapazität mit Einheit darstellen
[C#] LogWriter klasse
[C#] MIMETypeManager
[C#] externes Programm aufrufen (andere Version) mit Parameter
[C#] Herausfinden welches Programm ein bestimmtes Dokument öffnet
[VB.NET] Gibt das Bytearray einer Datei zurück
[C#] Datei ein bestimmtes Attribut geben/setzen
[VB.NET] Klasse für SimpleFileVerification (SFV)
[C#] Laden und speichern von komprimierten Binärdaten
[C#] Datei einlesen und als ArrayList jede Zeile zurückliefern
[C#] Parallele Dateisuche über mehrere Laufwerke
[C#] Byte Größenangaben als String formatieren (KB, MB, GB, ...)
[C#] Textdatei einlesen auf verschiedene Arten
[C#] Datei Teilweise einlesen (gestückelt)
[C#] Bestimmte Zeile einer Datei löschen
[C#] File Container
[C#] PDF Dateien erstellen
[C#] Ist Datei beschreibbar
[C#] Sichern einer MS-SQLServer Datenbank aus C#
[C#] Datei mi GZip packen
[C#] ini Datei anlegen - mit Dictionary
[C#] Dummy Files erzeugen. ( Mit Inhalt )
[C#] Byte-Array in Struktur kopieren
[C#] Text in Textdateien suchen
[VB.NET] Prüfen, ob eine Datei überschrieben werden kann
[C#] Prüfen ob in einem Verzeichnis Schreibrechte verfügbar sind!

schlecht sehr gut
1 2 3 4 5 6 7 8 9 10
Nur angemeldete User können Snippets bewerten.