Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

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 mit diskpart schlägt manchmal fehl warum? und wie abfangen?

Frage Entwicklung Batch & Shell

Mitglied: GrEEnbYte

GrEEnbYte (Level 1) - Jetzt verbinden

12.11.2008, aktualisiert 14.11.2008, 7058 Aufrufe, 2 Kommentare

Hallo

Hallo
ich benutze folgendes script von Alexander Suhovey einem Laufwerk einen Buchstaben zuzuweisen.
Leider wird manchmal einfach einem anderen Volume als dem gewünschten "backup" der Buchstabe zugewiesen.
Problem1: Warum gibt diskpart das falsche volume zurück? -
Problem2: warum wird der Laufwerksbuchstabe zugewiesen obwohl nicht das volume "backup" selektiert ist.
Stimmt die Fehlerroutine in dem script nicht? kann man das verbessern?
Vielen Dank für die Hilfe!!
ciao
MIchael

script:
01.
 
02.
@echo off 
03.
setlocal ENABLEDELAYEDEXPANSION 
04.
:: Full path to diskpart.exe. Defaults are: 
05.
:: Windows 2000: "C:\Program Files\Resource Kit\diskpart.exe" 
06.
:: 2003/XP:      "C:\windows\system32\diskpart.exe" 
07.
set dp=c:\windows\system32\diskpart.exe 
08.
 
09.
:: Volume label 
10.
set label=backup 
11.
 
12.
:: Temporary command file for diskpart.exe 
13.
set dps="%TEMP%\dp.txt" 
14.
 
15.
echo list volume>%dps% 
16.
echo exit>>%dps% 
17.
set label_short=%LABEL:~0,11% 
18.
if exist %dp% ( 
19.
    for /f "delims=" %%i in ('%dp% /s %dps%') do ( 
20.
        set string=%%i 
21.
        if not "!string:%label_short%=!"=="!string!" ( 
22.
            set volnum=!string:~9,3! 
23.
            set volnum=!volnum: =! 
24.
25.
26.
    if not "!volnum!"=="" ( 
27.
        echo Volume Label:  %label% 
28.
        echo Volume Number: !volnum! 
29.
    ) else ( 
30.
        echo Cannot find volume with label %label% 
31.
32.
) else ( 
33.
    echo Cannot find %dp%&goto :EOF 
34.
)
Mitglied: Biber
14.11.2008 um 18:29 Uhr
Moin GrEEnbYte,

ändere die Zeile 19
Von: for /f "delims=" %%i in ('%dp% /s %dps%') do (
Auf: for /f "delims=" %%i in ('%dp% /s %dps%') do if not defined volnum (

Dann sollte es passen.

Nicht sinnvoll finde ich, dass
  • die temporäre diskpart-Skriptdatei (%dps%) nicht gelöscht wird am Ende
  • das überhaupt erst mal irgendwas temporär angelegt wird, BEVOR die Prüfung erfolgt, ob Diskpart.exe irgendwo EXISTiert.

Da ich die Internet-Quelle des schnipsels nicht kenne (allerdings auch nicht gesuchmaschint habe):
Vielleicht kannst du ja mal den "If not defined"-Verbesserungsvorshlag an den Autor weitermailen.

Grüße
Biber
Bitte warten ..
Mitglied: GrEEnbYte
14.11.2008 um 20:31 Uhr
Hallo Biber
vielen Dank für die Hilfe
ich werde Deine Verbesserung mal ausprobieren, obwohl ich inzwischen auf USBDLM umgeschwenkt bin. Ist aber leider wieder ein Zusatzprogramm...
diskpart ist als Teil des Betriebssystems immer dabei. DAher muss eigentlich auch keine Prüfing erfolgen.
Ich weiss nicht ob ich dem Autor das noch zumailen kann. Es stammt aus einer KOrrspondenz von vor 2 Jahren in einer newsgroup..
ciao
viele Grüße
GrEENbYte
Bitte warten ..
Ähnliche Inhalte
Switche und Hubs
gelöst Cisco SG500 - Stacking schlägt fehl (6)

Frage von BirdyB zum Thema Switche und Hubs ...

Windows Systemdateien
gelöst Sysprep schlägt fehl (10)

Frage von next01de zum Thema Windows Systemdateien ...

Verschlüsselung & Zertifikate
Sperrprüfung für ein Zertifikat schlägt fehl (6)

Frage von MichaCon zum Thema Verschlüsselung & Zertifikate ...

Neue Wissensbeiträge
Mac OS X

Apple hat macOS High Sierra veröffentlicht

(4)

Information von Frank zum Thema Mac OS X ...

Viren und Trojaner

Ransomware or Wiper? RedBoot Encrypts Files but also Modifies Partition Table

(4)

Information von BassFishFox zum Thema Viren und Trojaner ...

Notebook & Zubehör

WOL bei HP Notebooks

(8)

Erfahrungsbericht von Henere zum Thema Notebook & Zubehör ...

Heiß diskutierte Inhalte
Windows Server
Seit IP Umstellung DC DNS Fehler (25)

Frage von Yaimael zum Thema Windows Server ...

Windows 10
gelöst Netzwerkkarte schaltet sich erst nach dem Logon ein (24)

Frage von DerWoWusste zum Thema Windows 10 ...

Grafik
gelöst CAD Arbeitsplätze (17)

Frage von Diddi93 zum Thema Grafik ...

Weiterbildung
gelöst Fest angestellter Admin oder Systemhaus Admin mit Kundenbetreuung? (16)

Frage von Voiper zum Thema Weiterbildung ...