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, 2064 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 ..
Ä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 Batch: Textdatei Zeilenweise auslesen (2)

Frage von CreatorX zum Thema Batch & Shell ...

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

Frage von PinkFLuffyUnicorn zum Thema Batch & Shell ...

VB for Applications
gelöst VB Skript für mehrere Batch Befehle (19)

Frage von freshman2017 zum Thema VB for Applications ...

Neue Wissensbeiträge
Batch & Shell

Batch zum Zurücksetzen eines lokalen Profils

Tipp von Mr.Error zum Thema Batch & Shell ...

RedHat, CentOS, Fedora

Fedora, RedHat, Centos: DNS-Search Domain setzen

(13)

Tipp von Frank zum Thema RedHat, CentOS, Fedora ...

Heiß diskutierte Inhalte
LAN, WAN, Wireless
VPN Tunnel aufbauen (16)

Frage von Hajo2006 zum Thema LAN, WAN, Wireless ...

Microsoft Office
Saubere HTML aus Word-Dokument (14)

Frage von peterpa zum Thema Microsoft Office ...

Router & Routing
ASUS RT-N18U mit VPN Client hinter Fritzbox - Portforwarding (14)

Frage von marshall75000 zum Thema Router & Routing ...

E-Mail
gelöst Probleme beim E-Mail Empfang (12)

Frage von TommyB83 zum Thema E-Mail ...