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, 2072 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 Mehrzeiligen Powershell-Befehl mit Batch ausführen (3)

Frage von 133202 zum Thema Batch & Shell ...

Microsoft Office
gelöst Excel: Einzelne Zeilen einer mehrzeiligen Zelle auslesen (3)

Frage von Booster07 zum Thema Microsoft Office ...

Batch & Shell
gelöst Batch: Textdatei Zeilenweise auslesen (2)

Frage von CreatorX zum Thema Batch & Shell ...

Neue Wissensbeiträge
Linux Netzwerk

Ping und das einstellbare Bytepattern

Erfahrungsbericht von LordGurke zum Thema Linux Netzwerk ...

Windows Update

Microsoft Update KB4034664 verursacht Probleme mit Multimonitor-Systemen

(3)

Tipp von beidermachtvongreyscull zum Thema Windows Update ...

Viren und Trojaner

CNC-Fräsen von MECANUMERIC werden (ggf.) mit Viren, Trojanern, Würmern ausgeliefert

(4)

Erfahrungsbericht von anteNope zum Thema Viren und Trojaner ...

Heiß diskutierte Inhalte
SAN, NAS, DAS
MSA 2050 RAID Konfig (25)

Frage von Leo-le zum Thema SAN, NAS, DAS ...

Netzwerkmanagement
Windows Server 2008 R2: "netsh reset" nicht verfügbar? (11)

Frage von RickTucker zum Thema Netzwerkmanagement ...

Outlook & Mail
Outlook Suche liefert kein Ergebnise mehr (6)

Frage von Bjoern-B zum Thema Outlook & Mail ...

Windows Server
gelöst "Kiosk"System für Demoversion und neue Versionen einer Anwendung (6)

Frage von kpieper zum Thema Windows Server ...