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
GELÖST

per Batch prüfen ob Laufwerk eine HDD ist

Frage Entwicklung

Mitglied: Iwan

Iwan (Level 2) - Jetzt verbinden

17.09.2008, aktualisiert 12:25 Uhr, 8550 Aufrufe, 6 Kommentare

hallo zusammen,

für ein Backup-Script per Batch suche ich eine Möglichkeit zu prüfen, ob Laufwerk D: eine Festplatte ist.
ich habe schon überlegt, ob ich Ordner abfragen kann, z.B. den Papierkorb oder MSO-Cache, aber das erscheint mir zu unsicher
hat jemand eine bessere Idee, wie ich das realisieren kann?
Mitglied: bastla
17.09.2008 um 09:55 Uhr
Hallo Iwan!

Wenn es keine Einwände gegen den Einsatz von VBScript gibt, etwa so:
01.
@echo off & setlocal 
02.
set LW=D: 
03.
 
04.
set G=%temp%\GetDriveType.vbs 
05.
>%G% echo On Error Resume Next:WScript.Echo CreateObject("Scripting.FileSystemObject").GetDrive(WScript.Arguments(0)).DriveType 
06.
set DT= 
07.
for /f %%i in ('cscript //nologo %G% %LW%') do set "DT=%%i" 
08.
if "%DT%"=="2" echo Festplatte
Mögliche Rückgabewerte:
01.
0: Unbekannt 
02.
1: Austauschbar 
03.
2: Fest 
04.
3: Netzwerk 
05.
4: CD-ROM 
06.
5: RAM-Laufwerk
Grüße
bastla

[Edit] "On Error Resume Next" hinzugefügt, um "Drive not ready" abzufangen; zur Sicherheit noch das Löschen der Variable %DT% ergänzt[/Edit]
Bitte warten ..
Mitglied: Iwan
17.09.2008 um 10:15 Uhr
hallo und danke für den Tip, aber wenn ich VBS haben wollte, dann hätte ich nicht nach Batch gefragt, oder?

ich bin gerade dabei, ob ich über den Volume-Namen oder die freie Kapaziät rankomme
eine CD oder DVD hat schliesslich keinen freien Platz, aber u.U. könnte das Laufwerk ja auch ein Netzlaufwerk sein und somit würde das nicht greifen
sieht recht problematisch aus...


+nachtrag+
fsutil fsinfo drivetype d: liefert als Ergebnis z.B.
d: - CD-ROM-Laufwerk oder halt d: - Eingebautes Laufwerk

wie kann ich nun daraus eine Abfrage machen?
if (Ergebnis von fsutil fsinfo drivetype d: ) = "Eingebautes Laufwerk" then MacheDiesUndDas
Bitte warten ..
Mitglied: bastla
17.09.2008 um 11:55 Uhr
Hallo Iwan!

... aber wenn ich VBS haben wollte, dann hätte ich nicht nach Batch gefragt, oder?
Eigentlich hast Du ja Batch bekommen ...
Soferne Du Dich auf die Ausgabe "Eingebautes Laufwerk" verlassen kannst und willst:
01.
fsutil fsinfo drivetype d:|findstr /c:"Eingebautes Laufwerk">nul && goto :MacheDiesUndDas 
02.
echo Keine Festplatte 
03.
goto :eof 
04.
 
05.
:MacheDiesUndDas 
06.
...
Grüße
bastla
Bitte warten ..
Mitglied: Iwan
17.09.2008 um 12:00 Uhr
danke, werde ich testen und ja, Laufwerk D: ist in 99,99% der Fälle eine 2. Partition oder ein CD-/DVD-Laufwerk
Bitte warten ..
Mitglied: bastla
17.09.2008 um 12:13 Uhr
Hallo Iwan!

Ich hatte dabei nicht an den Typ des Laufwerks, sondern an das Betriebssystem (bzw dessen Sprache), unter welchem der Batch laufen soll gedacht (W2000 kennt zB "fsutil" gar nicht, Vista müsstest Du selbst testen) ...

Grüße
bastla
Bitte warten ..
Mitglied: Iwan
17.09.2008 um 12:25 Uhr
ach so, das OS ist immer das gleiche, aber das mit der Sprache bin ich noch am testen, da wir XP Prof in deutsch und englisch einsetzen
im CMD-Prompt steht auf dem englischen Client (dank deutscher MUI?) auch "Eingebautes Laufwerk" da
bin mal gespannt, was er dann in der Batch nimmt...

+nachtrag+
super, funktioniert auch auf einem englischen Windows mit deutschem MUI einwandfrei, danke nochmal
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
gelöst Windows Batch - Drag and Drop - prüfen ob Parameter leer (2)

Frage von zimbosmurf zum Thema Batch & Shell ...

Batch & Shell
Batch, CMD - Prüfen ob ein Dienst existiert, nicht läuft (4)

Frage von RycoDePsyco zum Thema Batch & Shell ...

Batch & Shell
gelöst In Batch auf Erstelldatum einer Datei prüfen (5)

Frage von AS-N00 zum Thema Batch & Shell ...

Neue Wissensbeiträge
Heiß diskutierte Inhalte
Viren und Trojaner
Ransomware .nm4 (14)

Frage von Zyklo92 zum Thema Viren und Trojaner ...

Microsoft Office
+1.000 Ordner in Outlook: Wie besser? (11)

Frage von Matsushita zum Thema Microsoft Office ...

Zusammenarbeit
Administrator Verhalten nach Vertragskündigung (10)

Frage von sysbone zum Thema Zusammenarbeit ...