justler
Goto Top

FAT32 Festplatten per Script erkennen und NTFS formatieren

Hallo,

ich habe ein Problem, bzw. einen Wunsch, bei dem ich ein paar Tips / Anregungen gebrauchen könnte :o)

Ich möchte ein Script schreiben (vbs, batch, etc.), welches auf einem Server nach einer externen Festplatte sucht (ist immer Laufwerk Gface-smile.

Meine Idee dazu:
- prüfe ob externe Platte (Laufwerk Eface-smile vorhanden ist
- wenn ja, prüfe ob die externe Platte FAT32 formatiert ist
- wenn ja, formatiere NTFS
- das Script auf die Server verteilen, per Task ein mal die Woche ausführen lassen, weil es vorkommen kann, das mal wieder eine neue Platte an dem Gerät hängt

Auf Grund der hohen Anzahl der Server (Windows 2003 R2 SP2) und dem uneregelmäßigen Austausch der Platten, würde ich das wie oben schon geschrieben gern automatisieren.

Hat jemand hier vielleicht schon mal was ähnliches machen müssen oder ein paar Anrgungen, Tips, etc?

Grüße

Content-Key: 176774

Url: https://administrator.de/contentid/176774

Ausgedruckt am: 28.03.2024 um 13:03 Uhr

Mitglied: Tommy70
Tommy70 24.11.2011 um 13:36:22 Uhr
Goto Top
Hallo

so kannst du prüfen ob die Platte Fat32 ist.

Tom
Mitglied: Nagus
Nagus 24.11.2011 um 14:24:12 Uhr
Goto Top
Moin,
und was ist wenn Daten drauf sind?? Ist ein "mutiger" Ansatz ...
Gruß
Nagus
Mitglied: Skyemugen
Skyemugen 24.11.2011 um 14:41:18 Uhr
Goto Top
Zitat von @Justler:
ist immer Laufwerk G:

- prüfe ob externe Platte (Laufwerk E:
Mitglied: bastla
bastla 24.11.2011 um 14:56:34 Uhr
Goto Top
@Nagus
Ich würde einfach ein
convert G: /FS:NTFS
darauf loslassen (dann erspare ich mir auch die Prüfung auf "FAT") und etwas Daumen drücken ... face-wink

Grüße
bastla
Mitglied: Justler
Justler 24.11.2011 um 15:46:53 Uhr
Goto Top
Zitat von @Nagus:
Moin,
und was ist wenn Daten drauf sind?? Ist ein "mutiger" Ansatz ...
Gruß
Nagus

Die Platten sind neu, da sind keine Daten drauf. Es kommt jedoch vor, dass eine Platte schon NTFS-formatiert ist und die andere FAT. Das liegt am Beschaffungsweg, der ist unterschiedlich und vorschreiben darf ich da leider nichts.
Im Prinzip soll er nach der Formatierung auf NTFS, bei der nächsten Prüfung durch das Script, an dieser Stelle aussteigen (weil es dann ja schon NTFS ist und sich nun Daten ansammeln) Er wird also nur bei FAT reagieren und in dem Zustand ist da noch nichts drauf.
Sorry für die vielleicht unverständliche Schreibweise, bin gerade etwas im Zeitdruck (andere Sache)
Mitglied: bastla
bastla 24.11.2011 um 15:52:01 Uhr
Goto Top
Hallo Justler!
Im Prinzip soll er nach der Formatierung auf NTFS, bei der nächsten Prüfung durch das Script, an dieser Stelle aussteigen (weil es dann ja schon NTFS ist
Dann sollte mein Vorschlag eigentlich passen (im schlimmsten Fall - gerade keine Platte als G: angeschlossen - verabschiedet sich der Batch sang- und klanglos face-wink) ...

Grüße
bastla
Mitglied: Justler
Justler 24.11.2011 um 15:52:03 Uhr
Goto Top
Zitat von @bastla:
@Nagus
Ich würde einfach ein
convert G: /FS:NTFS
> 
darauf loslassen (dann erspare ich mir auch die Prüfung auf "FAT") und etwas Daumen drücken ... face-wink

Grüße
bastla

Das klingt interessant und würde es deutlich vereinfachen. Ich werde es mir morgen mal anschauen, danke dir.
Mitglied: Justler
Justler 24.11.2011 um 15:55:05 Uhr
Goto Top
Zitat von @Skyemugen:
> Zitat von @Justler:
> ----
> ist immer Laufwerk G:
>
> - prüfe ob externe Platte (Laufwerk E:

Ein Tipfehler meinerseits, sorry. Wenn eine Platte angeschloßen ist, dann Laufwerk G:
Mitglied: Skyemugen
Skyemugen 24.11.2011 um 16:30:46 Uhr
Goto Top
Aloha,

nun, dann tricksen wir das doch einmal zusammen, um doch erst die Abfrage zu starten ^__^
@echo off & setlocal
if not exist G: goto :eof
set "F=E:\Skripte\fsys.vbs"  
if not exist %F% >%F% (
echo Set objFSO = CreateObject^("Scripting.FileSystemObject"^)  
echo Set colDrives = objFSO.Drives
echo For Each objDrive in colDrives
echo Wscript.Echo objDrive.Path ^& objDrive.FileSystem
echo Next
)
for /f "tokens=2 delims=:" %%s in ('cscript //nologo "%F%"^|findstr /B "G:"') do (  
	cls
	if "%%s" equ "FAT32" (echo convert G: /FS:NTFS) else (echo Die Platte ist bereits %%s formatiert)  
)
pause
goto :eof

Das echo in Zeile 13 vor convert dient erst einmal als see-what-you-get

greetz André

edit: Ah, damn das Skript steigt ja aus, wenn es über's CD-Laufwerk wischt ... G: dürfte wohl später kommen ... ausgenommen man setzt seine CD/DVD-Laufwerke weiter nach hinten ... oder den vbs-Spezis fällt noch etwas besseres ein, direkt in VBS nach nur G: zu filtern ^__^
Mitglied: bastla
bastla 24.11.2011 um 17:11:35 Uhr
Goto Top
Hallo Skye!

Eigentlich sollte doch
@echo off & setlocal
set "LW=G:" & set "L="  
for /f "tokens=6" %%i in ('dir %LW%^|findstr /i /c:"Laufwerk %LW% ist"') do set "L=%%i"  
if defined L echo %L%|convert %LW% /FS:NTFS /x
genügen ...

Auf Behübschungen mit "2>nul" habe ich verzichtet, da das Ganze ohnehin als Task laufen soll ...
Hinsichtlich VBS und DVD-Laufwerk: Du kannst auf ".IsReady" oder den ".DriveType" prüfen ...

Grüße
bastla
Mitglied: 60730
60730 24.11.2011 um 21:59:41 Uhr
Goto Top
moin,

ne Batch kann ich zwar nicht liefern...
aber vielleicht tuts für sowas auch ein einzeiler...

if exist e:\  dir /AH e:\. /q|find "Admin" || convert e: /FS:NTFS

Gruß
Mitglied: bastla
bastla 24.11.2011 um 22:20:30 Uhr
Goto Top
@t-mo
Der Heckmeck mit dem Überprüfen auf NTFS ist doch gar nicht nötig (wenn auch schön gelöst face-smile) - "convert" meldet im Fall des Falles einfach
Laufwerk E: ist bereits ein NTFS-Dateisystem.
und gut ist ...

... im anderen Fall allerdings wäre noch
Geben Sie die aktuelle Datenträgerbezeichnung für Laufwerk E: ein:
zu behandeln (außer ein 2003 R2-"convert" braucht das nicht - ich habe nur unter XP getestet) ...

Grüße
bastla
Mitglied: Justler
Justler 25.11.2011 um 08:58:15 Uhr
Goto Top
Vielen Dank für die Hilfen, dass mit dem convert funktioniert sehr gut. Eine Sache stört mich allerdings noch, dass ich die Volumebezeichnung eingeben muss. (auch auf einem 2003 R2) face-sad Dadurch ist die Automatisierung ja gestoppt. Kann ich den Parameter nicht mitgeben? Die Bezeichnungen sind auch immer anders, so das sie meist den Hersteller beinhalten und der ja meist auch verschieden ist.
Er soll einfach nur convertieren und kann gern den Volume-Namen behalten.
Mitglied: bastla
bastla 25.11.2011, aktualisiert am 18.10.2012 um 18:49:12 Uhr
Goto Top
Hallo Justler!

Meinen Vorschlag hast Du auch schon versucht?

Grüße
bastla
Mitglied: Justler
Justler 25.11.2011, aktualisiert am 18.10.2012 um 18:49:12 Uhr
Goto Top
Zitat von @bastla:
Hallo Justler!

Meinen Vorschlag hast Du auch schon versucht?

Grüße
bastla

Oh, habe ich übersehen, gerade getestet und super Sache face-smile So kann ich das machen, vielen Dank an alle Helfer face-smile