Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

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

Meldungen von aufgerufenem Programm unterdrücken

Frage Entwicklung Batch & Shell

Mitglied: Markus8000

Markus8000 (Level 1) - Jetzt verbinden

05.04.2011, aktualisiert 22:49 Uhr, 4164 Aufrufe, 15 Kommentare

Ich heisse Markus und bin heute zum ersten Mal hier im Forum. Deshalb mal ein herzliches Hallo zusammen.

Ich überarbeite gerade mein Batch-Programm das folgendes macht:
>Es startet TrueCrypt und mappt ein verstecktes Laufwerk (Backup)

"C:\Program Files\TrueCrypt\TrueCrypt.exe" /v \Device\Harddisk3\Partition1 /lm /p "%password%" /q

Dieser code funktioniert eigentlich wunderbar!

Mein Problem:
Windows legt nun beim booten die Harddisk-Nummerierung immer etwas anders fest.
Das heisst heute ist es ...\Device\Harddisk3 morgen ...\Device\Harddisk4 und gestern war es ...\Device\Harddisk1
Dieses Phänomen ist ja bekannt.
Nun muss ich jeden Tag in der Systemverwaltung nachschauen was meine BackupHD für eine Nummer erhalten hat. Dies in meinem Batch programm eingeben und ausführen.
>Microsoft hat ;-(

Mein Lösungsansatz:
1 SET tempZahler=-
2 echo %tempZahler%
3 "C:\Program Files\TrueCrypt\TrueCrypt.exe" /v \Device\Harddisk0\Partition1 /lm /p "%password%" /q
4 if errorlevel 1 (
5 set tempZaehler=0
6 echo %tempZahler%
7 "C:\Program Files\TrueCrypt\TrueCrypt.exe" /v \Device\Harddisk1\Partition1 /lm /p "%password%" /q
8 pause
9 ) ELSE (
10 SET tempZaehler=kein Fehler!
11 echo %tempZahler%
12 pause
13 )

Nummerierung der Zeile zur Verständlichkeit.
[Edit Biber: und jetzt mal automatisch nummeriert (und vorher manuell de-nummeriert) *g]
01.
 SET tempZahler=- 
02.
 echo %tempZahler% 
03.
  "C:\Program Files\TrueCrypt\TrueCrypt.exe" /v \Device\Harddisk0\Partition1 /lm /p "%password%" /q 
04.
  if errorlevel 1 (  
05.
     set tempZaehler=0 
06.
     echo %tempZahler% 
07.
     "C:\Program Files\TrueCrypt\TrueCrypt.exe" /v \Device\Harddisk1\Partition1 /lm /p "%password%" /q  
08.
     pause 
09.
      ) ELSE ( 
10.
     SET tempZaehler=kein Fehler! 
11.
    echo %tempZahler%  
12.
    pause 
13.
   )
[/Edit Biber]

Die if else Anweisung muss noch ausgebaut werden damit ca. bis Hardsisk9 alles abgefragt wird.
"pause" nur zum testen.



Annahme die BackupHD hat die Nummer 0 -> kein Fehler (so funktioniert es ja)
Annahme die BackupHD hat die Nummer 3 -> Es kommt eine Fehlermeldung

Meine Fragen:
1. Warum wird in der Zeile 6 nochmals ein "-" ausgegeben?
Ich habe ja zuvor die Variable mit 0 definiert.
2. (jetzt komme ich zum Titelinhalt
Die Anweisung
"C:\Program Files\TrueCrypt\TrueCrypt.exe" /v \Device\Harddisk1\Partition1 /lm /p "%password%" /q
gibt mir folgende Fehlermeldung als erstes Zurück:
(Meldung von TrueCrypt)
Warnung: Die Datei / das Laufwerk ist bereits in Verwendung!
......
das ist mir ja klar und auch in Ordnung so. Darum möchte ich diese Fehlermeldung ignorieren.
Also habe ich die Anweisung mit 2^>nul ergänzt
-> "C:\Program Files\TrueCrypt\TrueCrypt.exe" /v \Device\Harddisk1\Partition1 /lm /p "%password%" /q 2^>nul
Leider passiert nichts. Das heisst die Fehlermeldung erscheint trotzdem.
Warum?

Wenn mir hierbei jemand helfen könnte?

Beste Grüsse
Markus
Mitglied: 60730
05.04.2011 um 22:41 Uhr
moin,

ich will mal nicht so sein...

edit und willkommen...und etwas diät verpasst

01.
 SET /a tempZaehler=1 
02.
:start 
03.
 echo %tempZaehler% 
04.
  "C:\Program Files\TrueCrypt\TrueCrypt.exe" /v \Device\Harddisk%tempZaehler%\Partition1 /lm /p "%password%" /q 
05.
  if errorlevel 1 (  
06.
     set /a tempZaehler=+1 
07.
     goto start 
08.
   )
bzw: etwas eleganter, wenn auch ungetestet...
01.
for /l %%a in (1,1,9) do "C:\Program Files\TrueCrypt\TrueCrypt.exe" /v \Device\Harddisk%%a\Partition1 /lm /p "%password%" /q
ich würde aber (wenn Adminrechte vorhanden sind) vorher mit fsutil das Laufwerk raussuchen und dann gezielt Truecrypt anwerfen.

Also habe ich die Anweisung mit 2^>nul ergänzt
falsch - >nul 2>nul
Gruß

edit

[Edit Biber: und jetzt mal automatisch nummeriert]
doppelt gemoppelte Arbeit - mag ich ja
[/edit]
Bitte warten ..
Mitglied: bastla
05.04.2011 um 23:06 Uhr
Hallo Markus8000 und auch von mir ein Willkommen!
1. Warum wird in der Zeile 6 nochmals ein "-" ausgegeben?
Ich habe ja zuvor die Variable mit 0 definiert.
Sie hat auch den Wert 0 - allerdings interessiert das den CMD-Interpreter vorläufig nicht; der sieht sich nämlich (wenn er nicht per "setlocal enabledelayedexpansion" - dazu findest Du hier im Forum eine ganze Menge an Erklärungen - zu einer anderen Vorgangsweise "überredet" wird) nur zu Beginn der Schleife Klammer die Variableninhalte an, und dann erst wieder am Beginn der nächsten Zeile (die gesamte Schleife Klammer wird wie eine einzige, lange Zeile behandelt) ...

Grüße
bastla
Bitte warten ..
Mitglied: 60730
05.04.2011 um 23:10 Uhr
moin Bastla...

TempZahler zaehlt heute nicht, das fehlende e geht aufs Haus...
01. SET tempZahler=-
05. set tempZaehler=0
06. echo %tempZahler%
  • schleifche hatt er ja auch nischdd....

Grüße
Bitte warten ..
Mitglied: Biber
05.04.2011 um 23:14 Uhr
Moin bastla,

- die Variable %tempzahler% wird doch nur einmal gesetzt und sonst nur angezeigt.
- die Variable %tempzaehler% wird zweimal gesetzt und nie angezeigt.

Da wäre eine erweiterte Variablenauflösung doch überdimensioniert.

Grüße
Biber

[Edit] Upps, T-Mo war schneller... [/Edit]
Bitte warten ..
Mitglied: bastla
05.04.2011 um 23:15 Uhr
@T-Mo
Hast recht - die Schleife gab's ja erst bei Dir; für die Klammer nach dem "if" gilt aber ohnehin das Gleiche (wenn dann mal die Variavlennamen stimmen werden) ...

[Edit] @Biber: Wenn's aber doch innerhalb der Klammer passieren soll (sinnvoll oder nicht) ... [/Edit]

Grüße
bastla
Bitte warten ..
Mitglied: Markus8000
05.04.2011 um 23:33 Uhr
Hallo TimoBeil

Danke für deine Antwort.

Ja, Adminrechte habe ich.
Ich habe mal die erste Version versucht. Die Schlaufe funktioniert aber endet nicht mehr (Eendlosschleife Ausgabe immer 1.

nul 2>nul funktioniert, allerdings nur für die erste Meldung. Danach werden folgende zwei Meldungen weiterhin ausgegeben:
-> Das Gerät ist nicht bereit.
-> Falls Sie auf ein Laufwerk für Wechselmedien zugreifen möchten, stellen Sie bitte sicher, dass sich ein Wechselmedium in diesem Laufwerk befindet. .....

a) Das Laufwer ist eine HD per USB angeschlossen und im System vorhanden.
b) Ich denke mir, ist ja klar, dass er unter HarddiskXY nichts findet, wenn dort nichts ist.
c) fsutil habe ich folgendermassen versucht.
-> fsutil fsinfo volumeinfo J:
J ist das versteckte Laufwerk, das ich mappen will.
Es kommt folgende Meldung:
Fehler: Auf dem Datenträger befindet sich kein erkanntes Dateisystem. ....
-> Ja klar kennt Windows standardmässig ein TrueCrypt-System nicht.
Weiter bin ich nicht gekommen
mit
fsutil fsinfo volumeinfo C:
kam was, aber die Harddisk-Nummer habe ich dort auch nicht gefunden.

Markus
Bitte warten ..
Mitglied: Markus8000
05.04.2011 um 23:43 Uhr
Hallo bastla

Jetzt habe ich gerade eine Antwort an TimoBeil geschrieben und gleich festgestellt das ihr schon weiter seid mit antworten und diskutieren

Also, die Variable TempZaehler war eigentlich nur eine Hilfsvariable für mich um die If else Anweisung zu testen (bis Timo sie elegant umfunktioniert hat).
Set TempZaehler=-
-> gibt mir den Inhalt der Variabel (echo %TempZaehler% (soll = -)
if X
Set TempZaehler=0
-> gibt mir den Inhalt der Variabel (echo %TempZaehler% (soll = 0
else
Set TempZaehler=1
-> gibt mir den Inhalt der Variabel (echo %TempZaehler% (soll = 1
usw.
hat aber eben nicht geklappt und ich weiss nicht warum. D.h. bis du mir die Antwort gegeben hast . Danke.
Ich werde über dieses Thema noch mehr lesen.
Bitte warten ..
Mitglied: Markus8000
05.04.2011 um 23:44 Uhr
Hallo Biber

Danke für die Formatierung oben.
Ich hab zwar nicht verstanden WIE du das gemacht hast. Aber sieht doch viel besser aus .

Gruss
Markus
Bitte warten ..
Mitglied: Skyemugen
06.04.2011 um 08:59 Uhr
Zitat von Markus8000:
Hallo Biber

Danke für die Formatierung oben.
Ich hab zwar nicht verstanden WIE du das gemacht hast. Aber sieht doch viel besser aus .

Aloha,

beim Verfassen von Beiträgen/Kommentaren gibt es doch extra das Wort Formatierungshilfe, wo du dann u.a. auch die Codeformatierung angezeigt bekommst.

greetz André
Bitte warten ..
Mitglied: Markus8000
06.04.2011 um 09:15 Uhr
Hallo André
Ja, habe ich auch festgestellt.
Danke trotzdem für den Hinweis.

Vielleicht hast du noch eine Antwort auf meine Frage?
(Antwort an TimoBeil)

Gruss
Markus
Bitte warten ..
Mitglied: Biber
06.04.2011 um 09:19 Uhr
Moin Markus8000,

Zitat von Markus8000:
Hallo Biber

Danke für die Formatierung oben.
Ich hab zwar nicht verstanden WIE du das gemacht hast. Aber sieht doch viel besser aus .
Na ja, mein Plan war eigentlich deine natürliche Neugier zu nutzen...
Ich dachte, du schaust dir deinen Eröffnungsbeitrag (mit "Editieren") an, um meine Formatierungsmassnahmen nachzuvollziehen.

Aber mit dem Link von Skyemugen ist es natürlich professioneller.

Grüße
Biber
Bitte warten ..
Mitglied: Markus8000
11.04.2011 um 23:24 Uhr
Hallo zusammen

Ich möchte das Thema nochmals aufgreifen, da es noch nicht funktioniert.
Deshalb eine Zusammenfassung meiner letzten Frage:

Adminrechte habe ich und ich habe mal die erste Version versucht.
-Die Schlaufe funktioniert aber endet nicht mehr (Eendlosschleife Ausgabe immer 1.

-nul 2>nul funktioniert, allerdings nur für die erste Meldung. Danach werden folgende zwei Meldungen weiterhin ausgegeben:
"Das Gerät ist nicht bereit.
Falls Sie auf ein Laufwerk für Wechselmedien zugreifen möchten, stellen Sie bitte sicher, dass sich ein Wechselmedium in diesem Laufwerk befindet. ....."

Das Laufwer ist eine HD per USB angeschlossen und im System vorhanden.

-fsutil habe ich folgendermassen versucht.
01.
 fsutil fsinfo volumeinfo J:
J ist das versteckte Laufwerk, das ich mappen will.
Es kommt folgende Meldung:
Fehler: Auf dem Datenträger befindet sich kein erkanntes Dateisystem. ....
Weiter bin ich nicht gekommen.
Mit
01.
 fsutil fsinfo volumeinfo C:
kam was, aber die Harddisk-Nummer habe ich dort auch nicht gefunden.

Markus
Bitte warten ..
Mitglied: 60730
12.04.2011 um 00:00 Uhr
moin,

-nul 2>nul funktioniert, allerdings nur für die erste Meldung.
  • muß ja...
Danach werden folgende zwei Meldungen weiterhin ausgegeben:
"Das Gerät ist nicht bereit.
Falls Sie auf ein Laufwerk für Wechselmedien zugreifen möchten, stellen Sie bitte sicher, dass sich ein Wechselmedium in diesem Laufwerk befindet. ....."

Das sollten aber Windows Popups sein, die bekommst du logischerweise mit >nul nicht weg,

Der Tipp mit FSutil war ein Griff ins Blaue gekachelte Zimmer.

Nur ganz ehrlich - mir fehlt da der springende Punkt, ab dem es sich für mich lohnen würde weitere Zeit da reinzustecken und die Zeit dir zu schreiben warum - nehm ich mir...

  • Die Frage (der Überschrift zu urteilen) - die jedem, der den Fred mal findet - ist mehr als erledigt.
  • Es geht um Truecrypt im speziellen - vielleicht opferst du ein paar sekunden und änderst den Titel?
  • Truecrpypt soll eine sichere Sache sein, deswegen ist da ein password hinterlegt.

Deine Batch hat das passwort aber im Klartext von daher führst du das, was Truecrypt eigentlich machen soll - Adabsurdum.

Wenn du das bist jetzt gelesen hast - dann hier ein klitschkokleiner Tipp.

Die Schleife / nicht Schlaufe ist flüssiger als flüssig - nimm einfach den Volume Namen, der ändert sich nicht (außer du änderst Ihn)

"C:\Program Files\TrueCrypt\TrueCrypt.exe" /v \\?\Volume{1aabbccd-1234-5678-90ab-0815321680}\ /lm /p "%password%" /q

Wie der lautet findest du mit montvol raus.

Gruß
Bitte warten ..
Mitglied: Markus8000
12.04.2011 um 12:42 Uhr
Hi TimoBeil

Danke für deinen Tipp mit dem Volumenamen und mountvol.
Hast soweit funktioniert.

Zu deinen Bemerkungen:
1.
Nur ganz ehrlich - mir fehlt da der springende Punkt, ab dem es sich für mich lohnen würde weitere Zeit da reinzustecken
Ich dachte ein Forum sei dazu da, Fragen zu stellen und wenn jemand eine Antwort weiss, gibt er/sie das Wissen weiter. Mindestens habe ich, für meine Antworten in anderen Foren, mich noch nie von jemandem in irgendeiner Form bezahlen lassen. Aber bitte, wie sind den deine Bankverbindungen?

2.
•Die Frage (der Überschrift zu urteilen) - die jedem, der den Fred mal findet - ist mehr als erledigt
Der Titel lautet: "Meldungen von aufgerufenem Programm unterdrücken"
Insofern hast du recht, da offentlichtlich nur die erste Meldung von TrueCrypt kommt.

Ein Beitrag mit allen Fragen und Antworten entwickelt sich sehr sehr oft. Weisst du bestimmt...
Mit einem Titel: "Wie ist der Vorname" und einer gestellten Frage: Wie heisst du den? Kommt eine Antwort James. Es liegt nahe, dass der Fragende jetzt hellhörig wird und weiter Fragezeichen im Kopf hat bzw. sich sein Projekt im Kopf weiterentwickelt. Somit fragt er weiter: Wie ist den dein Nachname? Antwort: Bond.
Leider hat die zweite Frage nichts mehr direkt mit dem Titel zu tun!

Somit ist dieser Punkt ganz und gar nicht erledigt.
Ich weiss jetzt, dass ich mit "nul 2>nul" die erste Meldung eines aufgerufenen Programmes unterdrücken kann.
Was ist mit weiteren Meldungen des aufgeführten Programmes?
Was ist mit weiteren Meldungen, die vom Betriebssystem kommne? (was ja bei mir der Fall ist)

3.
•Es geht um Truecrypt im speziellen - vielleicht opferst du ein paar sekunden und änderst den Titel?
Für wahr, das könnte ich tun.
Dann sucht jemand anders mit dem selben Problem wie ich anfangs hatte (siehe Titel) im Internet und findet unseren Beitrag nicht, weil ich ja den Titel geändert habe!
Also mache ich doch einen neuen Beitrag.
Oder wir lassen das Projekt sich entwickeln.

4.
•Truecrpypt soll eine sichere Sache sein, deswegen ist da ein password hinterlegt.
Deine Batch hat das passwort aber im Klartext von daher führst du das, was Truecrypt eigentlich machen soll - Adabsurdum.
Wer sagt den, dass ich das Passwort in der Batchdatei hinterlegt habe. Das nimmst du nur an!
Könnte doch sein, dass ich es in der Batchdatei blos abfrage und der Benutzer muss es selber eingeben. Also kein Klartext eines Passwortes.
Zugegeben ich habe es nicht explizit erwähnt. Aber, dass ich eine Variablen ("%password%) verwende, hätte ein Hinweis sein können.
Somit kein Reductio ad absurdum.

PS: Schlaufe - Schleife sind Synonyme. Siehe Duden neue Deutsche Rechtschreibung.
Deshalb erlaube ich mir dies zu schreiben, im Brief, im elektrotechnischen Umfeld und in der Programmierung.

Gruss
Markus
Bitte warten ..
Mitglied: 60730
12.04.2011 um 13:19 Uhr
Salü,

ich machs kurz... (keine Zeit)

Nur ganz ehrlich - mir fehlt da der springende Punkt, ab dem es sich für mich lohnen würde weitere Zeit da reinzustecken

Es ist genauso, wie ich schrub...
"Für mich" wäre ist das kein wirkliches Ding, das ich automatisieren würde.
Dir einen Weg zu nennen, wie man es automatisieren kann - ohne drauf hinzuweisen, was man da eigentlich macht - ist in meinen Augen auch ein Nogo.

Denn "wir" müssen immer dran denken, das was wir schreiben wird auch später von anderen gefunden, die ähnliches vorhaben oder den Wald vor lauter Bäumen nicht sehen.

Und geänderte Titel - da ist die Googleities vom Frank so gut gebaut, die kann das ab. (Hab selber schon ein paar Anleitungen nachträglich umgemünzt)

PS: Schlaufe - Schleife sind Synonyme.

Nimms gelassen nur weil ich einen Segelschein hab und dort eine Schlaufe eine andere bedeutung hat als eine Schleife, müssen wir uns darüber keinen Knoten in den Kopf zimmern oder dem anderen eine Schlinge draus machen.

Gruß
Bitte warten ..
Neuester Wissensbeitrag
Windows 10

Powershell 5 BSOD

(3)

Tipp von agowa338 zum Thema Windows 10 ...

Ähnliche Inhalte
Windows Userverwaltung
gelöst Anmeldeskript fragt für das mappen nach einem User und Pw unterdrücken (9)

Frage von M.Marz zum Thema Windows Userverwaltung ...

Microsoft Office
32 Bit CAD Programm und Excel 64 Bit geht nicht (5)

Frage von GrueneSosseMitSpeck zum Thema Microsoft Office ...

Internet
Alternative zu MS Autoroute Außendienst-Programm

Frage von Yannosch zum Thema Internet ...

Heiß diskutierte Inhalte
LAN, WAN, Wireless
gelöst Server erkennt Client nicht wenn er ausserhalb des DHCP Pools liegt (28)

Frage von Mar-west zum Thema LAN, WAN, Wireless ...

Outlook & Mail
Outlook 2010 findet ost datei nicht (18)

Frage von Floh21 zum Thema Outlook & Mail ...

Windows Server
Server 2008R2 startet nicht mehr (Bad Patch 0xa) (18)

Frage von Haures zum Thema Windows Server ...