Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

gelöst Batch - überprüfen, ob Speicherkarte schreibgeschützt ist

Mitglied: breppe

breppe (Level 1) - Jetzt verbinden

16.10.2014, aktualisiert 22.10.2014, 1265 Aufrufe, 4 Kommentare

Hallo Leute,

ich habe aktuell ein Problem, bei dem ich nicht so recht weiter komme.

Ich habe mir einen Nettop zusammengebaut, welcher mittels einem Batch-Script automatisch bei einlegen einer Speicherkarte die darauf enthaltenen Bilder auf ein Netzlaufwerk verschiebt. Soweit alles gut. Ich habe jetzt allerdings das Problem, dass die eingesteckten Speicherkarten teilweise schreibgeschützt sind (weil hardwaremäßig der kleine Hebel an der SD-Speicherkarte auf "lock" gestellt ist). Die geschieht teilweise unbeabsichticht. Folglich kann ich in diesem Zustand die Bilder nicht von der Karte entfernen.

Ich muss nun eine Möglichkeit finden, zu überprüfen, ob die Karte gelockt ist - oder eben nicht. Das Problem das ich habe ist, sobald ich schreibend auf die Karte zugreifen will, erscheind eine WINDOWS-MELDUNG --> Der Datenträger ist schreibgeschützt und kann nicht beschrieben werden.... <--
e8ef2cf5ef5ab5e7e087ad24a3d32765 - Klicke auf das Bild, um es zu vergrößern

Das große Problem ist, dass sich diese Meldung leider nicht in der Konsole befindet und es nun sehr schwierig wird, diese zu bestätigen.
Zum testen, ob ich die Daten verschieben kann erstelle ich temporär einen Ordner. Klappt dies, so lösche ich ihn wieder und kann mir sicher sein, dass ich die Bilder verschieben kann. Leider klappt die Anpassung der Ausgabe im Fehlerfall nicht, da es sich eben um eine Windows-Meldung handelt.

Mit folgendem Script kann man die Dateiattribute auslesen:
01.
@echo OFF 
02.
SETLOCAL enableextensions enabledelayedexpansion 
03.
 
04.
set INPUT=E:\ReferenceFile.txt 
05.
 
06.
for %%F in (%INPUT%) do ( 
07.
    set ATTRIBS=%%~aF 
08.
    set CURR_FILE=%%~nxF 
09.
    set READ_ATTRIB=!ATTRIBS:~1,1! 
10.
 
11.
    @echo File: !CURR_FILE! 
12.
    @echo Attributes: !ATTRIBS! 
13.
    @echo Read attribute set to: !READ_ATTRIB! 
14.
 
15.
    if !READ_ATTRIB!==- ( 
16.
        @echo !CURR_FILE! is read-write 
17.
    ) else ( 
18.
        @echo !CURR_FILE! is read only 
19.
20.
 
21.
    @echo. 
22.
23.
pause
Leider bekomme ich - unabhängig von der Stellung des Lock-Hebels - immer Read-Write zurück.

Habt ihr eine Idee wie ich
1. Die Windows Ausgabe unterbinden,
2. Automatisch auf den "Abbrechen"-Button der Meldung zugreifen oder
3. (meines erachtens die schönste Mehtode) auslesen, ob die Speicherkarte schreibgeschützt ist.

Mir fällt nichts mehr ein.

Viele Grüße
Breppe
Mitglied: AnkhMorpork
16.10.2014 um 14:24 Uhr
Hallo,

es gibt die Klasse "win32_PhysicalMedia" mit der Eigenschaft "WriteProtectOn". Das kann mit der Powershell recht komfortabel abgefragt werden.
Ich bin aber nicht sicher, ob das auch mit Speicherkarten funktioniert.

Gruß

ankh
Bitte warten ..
Mitglied: breppe
20.10.2014 um 08:02 Uhr
Hallo AnkhMorpork,

erstmal danke für deine Antwort! Leider hab ich aber gerade feststellen müssen, dass diese Abfrage nicht für Speicherkarten gilt.

Egal, ob ich eine Speicherkarte eingesteckt habe oder nicht - in meinem Fall findet das Tool jedesmal 9 instanzen. Somit kann ich diesen Weg leider nicht gehen.

Noch andere Ideen?

Viele Grüße
Breppe
Bitte warten ..
Mitglied: AnkhMorpork
LÖSUNG 20.10.2014, aktualisiert 22.10.2014
Zitat von breppe:

Hallo AnkhMorpork,

erstmal danke für deine Antwort! Leider hab ich aber gerade feststellen müssen, dass diese Abfrage nicht für
Speicherkarten gilt.

Egal, ob ich eine Speicherkarte eingesteckt habe oder nicht - in meinem Fall findet das Tool jedesmal 9 instanzen. Somit kann ich
diesen Weg leider nicht gehen.

Noch andere Ideen?

Viele Grüße
Breppe

Hi,

das hatte ich befürchtet. Habe auch noch einige andere Sachen abgeleuchtet, aber leider keine Chance. Für's Erste ist mein Pulver verschossen ... sorry.

Wenn du selber suchen willst:
Wbemtest.exe in der Konsole starten
"Verbinden"
root\cimv2 (ist als Standard in der Powershell 3.0 eingestellt)
"Verbinden"
"Klassen aufzählen"
"Rekursiv für alle Klassen"
OK

Und dann suchen ... suchen ... suchen ...

Gruß und good luck!

ankh
Bitte warten ..
Mitglied: breppe
22.10.2014 um 07:28 Uhr
Hallo,

ich wollte es zwar vermeiden und rein mit Batch realisieren, nun hab ich allerdings mitteld .Net und C# ein sehr kleines Tool geschrieben, was mir hilft. Mit diesem Tool klappt es nun ohne Probleme:

01.
    class Program { 
02.
 
03.
        /// <summary> 
04.
        /// Der Exitcode lautet 1 bei keinem Schreibschutz, 0 bei Fehlenden Übergabeparametern und -1 bei einem Schreibschütz 
05.
        /// </summary> 
06.
        /// <param name="args"></param> 
07.
        static void Main(string[] args) { 
08.
 
09.
            //Übergabeparameter prüfen 
10.
            //Erwartet: Zu testendes Laufwerk  
11.
                         
12.
            if (args.Length > 0) { 
13.
 
14.
                try { 
15.
                                        
16.
                    string FileName = args[0] + "ProtectionCheck.txt"; 
17.
 
18.
                    //Hier lasse ich es darauf ankommen, ob eine Datei geschrieben werden kann 
19.
                    StreamWriter MyStreamWriter = new StreamWriter(FileName); 
20.
 
21.
                    Environment.Exit(1); 
22.
 
23.
24.
                catch (Exception ex) { 
25.
                                         
26.
                    Environment.Exit(-1); 
27.
 
28.
29.
30.
            Environment.Exit(0); 
31.
32.
    }
Vielleicht hilft´s ja wem.

Viele Grüße
Bitte warten ..
Ähnliche Inhalte
Batch & Shell

Energiesparoptionen per Batch überprüfen

Frage von csnr86Batch & Shell2 Kommentare

Hallo liebes Forum, nachdem ich hier schon viel gelesen habe, muss ich nun auch meine erste Frage stellen. Ich ...

Batch & Shell

Batch - Eingabe überprüfen

gelöst Frage von JantlemanBatch & Shell5 Kommentare

Hallo Community, ich beschäftige mich seit einigen Tagen mit Batch und habe beschlossen einen einfachen Sleeptimer zu programmieren. Bis ...

Batch & Shell

Batch: Login überprüfen

gelöst Frage von SpyeerBatch & Shell3 Kommentare

Hallo @ all, Ich habe mir eine Batch Datei geschrieben mit diversen Tools. Die Batch Datei fungiert als eine ...

Batch & Shell

Batch: Ordner auf Datei überprüfen

gelöst Frage von donmanolitoBatch & Shell4 Kommentare

Hallo Ich suche eine Möglichkeit alle Ordnernamen eines Verzeichnisses in eine Variable zu schieben um dann per Schleife ein ...

Neue Wissensbeiträge
Windows 10
Zero-Day-Lücke in Microsoft Edge
Information von kgborn vor 6 StundenWindows 10

In Microsofts Edge-Browser klafft wohl eine nicht geschlossene (0-Day) Sicherheitslücke im Just In Time Compiler (JIT Compiler) für Javascript. ...

Sicherheit
Microsoft und Skype: Sicherheit
Information von kgborn vor 6 StundenSicherheit

Die Tage gab es ja einige Berichte zur Sicherheit des Skype-Updaters. Der Updater von Skype läuft unter dem Konto ...

Viren und Trojaner
Neue Avira Management Console Egosecure
Information von OSelbeck vor 1 TagViren und Trojaner1 Kommentar

Hallöchen zusammen, ich weiß nicht, wer von euch noch Avira einsetzt Wir haben ein paar Kunden Avira hatte ja ...

Datenschutz

Behörden ignorieren Sicherheitsbedenken gegenüber Windows 10

Information von Penny.Cilin vor 1 TagDatenschutz8 Kommentare

Hallo, passend zum Thema Ablösung LIMUX in München ein Beitrag bei Heise (siehe Link folgend). Behörden ignorieren Sicherheitsbedenken gegenüber ...

Heiß diskutierte Inhalte
Exchange Server
Exchange Postfach Einbindung Betriebs-rat -Arzt, Bewerbung .
Frage von YellowcakeExchange Server15 Kommentare

Hey ich habe da mal eine Denksport Aufgabe bekommen Genutzt wird ein Exchange Server 2010. hier gibt es den ...

Datenschutz
Telematikinfrastruktur Erfahrungsaustausch
Frage von MOS6581Datenschutz12 Kommentare

Moin, unter meinen Kunden befinden sich auch einige Ärzte, welche sich künftig mit der Telematikinfrastruktur-Geschichte der Gematik herumärgern dürfen. ...

Windows Server
Delgegierte OU via RDP verwalten - Objektverwaltung zuweisen
gelöst Frage von TOAOICEWindows Server12 Kommentare

Hallo, ich habe folgendes Problem. Ich möchte in meiner Domäne (Server2016), einer Gruppe (OUAdmin) Berechtigungen auf die OU Test ...

Windows Server
Downgrade von Windows Server 2016 auf 2012 - Wie vorgehen?
Frage von EstefaniaWindows Server12 Kommentare

Guten Ich habe eine Frage an Erfahrene unter euch. Durch einen InPlace Upgrade wurde Windows Server 2012 auf die ...