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

Mehrzeilige diskpart Befehle aus einer Textdatei auslesen

Frage Entwicklung Batch & Shell

Mitglied: Kollisionskurs

Kollisionskurs (Level 1) - Jetzt verbinden

18.07.2014 um 14:19 Uhr, 2044 Aufrufe, 1 Kommentar, 1 Danke

Hallo zusammen,

ich steh gerade etwas auf dem Schlauch.
In unserem Netzwerk liegen verschiedene System-Images (*.wim) bereit - die Infos zum eigentlichen Image sind in einer gleichnamigen Textdatei ("Beschreibungsdatei") eingetragen.
Mittels WinPE, dism und einem Batch-Skript werden die Infos ausgelesen und dann wird das Image entsprechend auf dem Zielsystem aufgespielt.

Die Beschreibungsdatei ist unspektakulär aufgebaut:

fileName=Image_#Release#_#Date#.wim
partSizeC=8192
versionInfo="Image XY @ Hardware XY"


Die Partitionsgröße wird zum Beispiel mit folgendem Befehl eingelesen:

01.
  
02.
for /f "tokens=2,* delims==" %%k in ('Find /i "partSizeC" %imageDrive%\%imageDescFile%') Do @Set partSizeC=%%k 
03.
SET "ixPartSizeC=%partSizeC%"


Aufgrund einer Änderung möchte ich zukünftig die kompletten diskpart-Befehle aus der externen Beschreibungsdatei auslesen und in einer Variablen innerhalb von meinem WinPE Batch File speichern.

Die Beschreibungsdatei wird somit um folgendes exemplarisch erweitert:

diskpart="list disk
select disk 0
clean
create partition primary size=350
format quick fs=ntfs label="System Reserved"
assign letter="S"
active"


Wie kann ich diese mehrzeiligen Befehle aus der "diskpart"-Variablen (aus der externen Beschreibungsdatei) auslesen und innerhalb meiner Batch.Datei in einer anderen Variablen speichern? Egal wie ich es bisher versucht habe funktioniert es nicht.

Für jeden Tipp dankbar...thx!
Mitglied: colinardo
LÖSUNG 18.07.2014, aktualisiert 11.09.2014
Moin Kollisionskurs,
eine Variante wäre folgende: Wenn du die diskpart Befehle in eine Zeile packst und z.B. jeweils mit einer Raute (#) voneinander trennst:
diskpart="list disk#select disk 0#clean#create partition primary size=350#format quick fs=ntfs label="System Reserved"#assign letter="S"#active"
könntest du sie so in eine Scriptdatei exportieren.
01.
@echo off & setlocal ENABLEDELAYEDEXPANSION 
02.
set NL=^ 
03.
 
04.
 
05.
REM Die vorherigen zwei Leerzeilen nicht entfernen 
06.
for /f "tokens=1,* delims==" %%a in ('findstr /ib "diskpart" "%imageDrive%\%imageDescFile%"') DO set "commands=%%~b" 
07.
 
08.
:: Raute durch Zeilenumbruch ersetzen 
09.
set "commands=%commands:#=!NL!%" 
10.
 
11.
:: Befehle in Diskpart-Scriptdatei schreiben 
12.
(for /f "delims=" %%a in ("!commands!") DO echo %%a)>"%temp%\diskpart_script.txt"
Grüße Uwe
Bitte warten ..
Neuester Wissensbeitrag
Off Topic

"Ich habe nichts zu verbergen"

(2)

Erfahrungsbericht von FA-jka zum Thema Off Topic ...

Ähnliche Inhalte
Batch & Shell
gelöst BATCH: Daten aus Textdatei auslesen und in neue Textdatei separieren (9)

Frage von Manuel1234 zum Thema Batch & Shell ...

Batch & Shell
gelöst Bestimmte Zeile einer Textdatei mit Batch auslesen (2)

Frage von PinkFLuffyUnicorn zum Thema Batch & Shell ...

Google Android
Textdatei auf SD Karte auslesen funktioniert nicht (Oneplus One) (4)

Frage von lordzwieback zum Thema Google Android ...

Heiß diskutierte Inhalte
Linux Netzwerk
gelöst DHCP vergibt keine Adressen (31)

Frage von Maik82 zum Thema Linux Netzwerk ...

Exchange Server
gelöst Bestehende eMails autoamatisch weiterleiten (22)

Frage von metal-shot zum Thema Exchange Server ...

Switche und Hubs
LAG zwischen SG300-Switches macht Probleme. Wer weiß Rat? (20)

Frage von White-Rabbit2 zum Thema Switche und Hubs ...

Apache Server
gelöst Lets Encrypt SSL mit Apache2 (20)

Frage von banane31 zum Thema Apache Server ...