LabVIEWForum.de
Schreibschutz auf Datei aufheben - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+---- Forum: Datenbank & File IO (/Forum-Datenbank-File-IO)
+---- Thema: Schreibschutz auf Datei aufheben (/Thread-Schreibschutz-auf-Datei-aufheben)



Schreibschutz auf Datei aufheben - Tobi Wan Kenobi - 15.01.2015 12:02

Hallo Zusammen,
ich habe folgendes Problem.

ich habe ein Programm geschrieben welches eine Textdatei mit Daten erstellt.
Dieses Programm läuft jeden Tag selbstständig zu einer bestimmten Uhrzeit durch und aktualisiert diese TXT-Datei.

Diese Textdatei wird von mehreren Personen geöffnet um sich diverse Daten zu holen bzw. zu ändern wenn nicht korrekt. (das Öffnen geschieht ganz normal unter Windows mit dem Texteditor)
Jetzt kommt es öfter vor, dass diese TXT-Datei von einem User Schreibgeschützt wird. (warum auch immer)

Ist das passiert und mein Programm möchte am nächsten Tag aktualisieren, funktioniert das nicht, weil dem Programm (spricht mir weil es auf meinem Rechner ausgeführt wird) die Rechte dann fehlen. Wird der Schreibschutz von mir persönlich entfernt funktioniert das ganze wieder.

Meine Frage, gibt es in LV die Möglichkeit diesen Schreibschutz automatisch zu entfernen bzw. hat jemand eine Idee wie ich diese Problem umgehen kann.

Danke schon mal im voraus.
Gruß
Tobi Wan Kenobi


RE: Schreibschutz auf Datei aufheben - GerdW - 15.01.2015 12:41

Hallo Tobi,

wie sieht der "Schreibschutz" aus?

- Wenn es um das "r"-Flag in den Dateiattributen geht: es gibt eine "SetPermissions"-Funktion…
- Wenn es um Benutzerrechte geht: da musst du mal schauen, ob man das per Batch/Powershell automatisieren kann…


RE: Schreibschutz auf Datei aufheben - Tobi Wan Kenobi - 15.01.2015 14:02

Hallo GerdW,

Es handelt sich um den "normalen" Schreibschutz unter Windows, den eigentlich jeder der die Datei hat aktivieren und deaktivieren kann.

Rechtsklick auf die Datei, dann Eigenschaften und das Häckchen bei Schreibgeschützt setzten und dann übernehmen drücken.

Wo bzw. wie sehe ich welcher Schreibschutz bei einer Datei verwendet wird?

Gruß
Tobi


RE: Schreibschutz auf Datei aufheben - GerdW - 15.01.2015 14:10

Hallo Tobi,

Zitat:Wo bzw. wie sehe ich welcher Schreibschutz bei einer Datei verwendet wird?
Möglichkeit 1: GetPermissons…
Möglichkeit 2: Datei zum Lesen öffnen = fehlerfrei, Datei zum Schreiben öffnen = Fehler => fehlende Schreibrechte…


RE: Schreibschutz auf Datei aufheben - Tobi Wan Kenobi - 15.01.2015 15:20

Hallo GerdW,

Leserechte sind vorhanden, Schreibrechte nicht.

Gruß
Tobi


RE: Schreibschutz auf Datei aufheben - Nordvestlys - 15.01.2015 16:33

Gerade getestet:

Mit "get Permissions" lassen sich die Berechtigungen auslesen und mit "set Permisions" verändern. Lt. Hilfe ist unter Windows eigentlich nur Bit 7 relevant. Hier funktioniert das einwandfrei.

Vorgehen: Berechtigung lesen und das Ergebnis entweder mit dem I16-Wert -129 UND-verknüpfen zum löschen (=Schreibschutz) bzw. mit 128 ODER-verknüpfen zum setzen (=schreiben erlaubt) von Bit 7. (Die anderen Bits bleiben durch diese Maskierung unverändert.)

Das Ergebnis dann an "set Permissions" übergeben.

Wie gesagt, hier geht das problemlos.

(Edit hat etwas Zahlensalat beseitigt)


RE: Schreibschutz auf Datei aufheben - Tobi Wan Kenobi - 19.01.2015 13:14

Hey Nordvestlys,
vielen vielen Dank, funktioniert einwandfrei !!!!!!

Top1 Top1 Top1 Top1 Top1 Top1 Top1 Top1 Top1

Gruß Tobi


RE: Schreibschutz auf Datei aufheben - Nordvestlys - 19.01.2015 13:43

Prima!

Und falls Du noch verstehen willst, was das mit den beiden Zahlen auf sich hat, nimm mal einen einfachen wissenschaftlichen Taschenrechner und wandel sie in Binärzahlen um. Dann wird hoffentlich/wahrscheinlich klar, wie das mit dem ODER und UND hier funktioniert (bitweise).....

...und falls Dir das schon vorher klar war, hilft es vielleicht anderen.

;-)


RE: Schreibschutz auf Datei aufheben - Tobi Wan Kenobi - 26.01.2015 15:12

Hey Nordvestlys,

Zitat:....und falls Dir das schon vorher klar war, hilft es vielleicht anderen

10000000 -> das wäre meine 128
01100000 -> beliebige Binärzahl als Beispiel für meine Datei
11100000 -> Ergebnis nach der ODER-Verknüpfung => Bit 7 auf High somit Schreibschutz entfernt (Datei freigegeben)

01111111 -> das wäre meine -129
11100000 -> Binärzahl meiner zuvor freigegebenen Datei
01100000 -> das wäre mein Ergebnis nach der UND- Verknüpfung => Bit 7 auf Low somit Schreibschutz aktiv (Datei schreibgeschützt)


Die Anwendung der Funktionen "set Permisions/ get Permisions" war mir nicht klar bzw. bekannt, ebenso dass man mit Bit 7 den Schreibschutz ändert kann.
Da ich noch nicht viel Erfahrung mit LV habe, unterschätze ich manchmal einfach noch die gegebenen Möglichkeiten Big Grin

Nochmals Danke, wieder was gelernt Big Grin

Gruß Tobi


RE: Schreibschutz auf Datei aufheben - Nordvestlys - 26.01.2015 16:43

Das bitweise maskieren ist eigentlich sehr einfach und überaus nützlich. Allerdings gehört es zu den Sachen, auf die man aus irgendeinem Grund nicht von alleine kommt und sich hinterher sagt "na klar, eigentlich ganz logisch"....

Auf dieselbe Art kann man natürlich auch einzelne Bits auslesen, umkehren, shiften, ...

Diesen Spezialfall ("Bit 7") habe ich übrigens der LV-Hilfe entnommen. Man kann von LV und NI halten was man will. Aber die Hilfe-Funktion ist im Gegensatz zu den meisten anderen großen Software-Paketen wirklich brauchbar!
Leider muss man das immer wieder erwähnen, weil die meisten Nutzer aufgrund der sonst üblichen schlechten Hilfefunktion diese gar nicht erst ausprobieren.
(Strg-H ist einer meiner häufigsten Shortcuts ;-))