Diskpart Datei in Batch generieren und ohne speichern ausführen
Hallo,
meine Batch stellt die gewünschte Konfiguration während der Laufzeit zusammen welche dann an Diskpart übergeben werden soll ohne die Datei zu speichern.
Es kommt der Fehler "Der Befehl "(echo" ist entweder falsch geschrieben oder konnte nicht gefunden werden."
ergibt
Vermutlich fehlt da die letzte schließende Klammer aber weder das ^ noch die Klammerverdoppelung bewirkt etwas.
Muß man am Ende eigentlich ein "ECHO exit" stehen oder wird Diskpart von selbst sauber beendet?
Grüße,
meine Batch stellt die gewünschte Konfiguration während der Laufzeit zusammen welche dann an Diskpart übergeben werden soll ohne die Datei zu speichern.
echo off
cls
SETLOCAL ENABLEDELAYEDEXPANSION
SET NeueZeile=^
REM Ende Leerzeichen nicht entfernen
set test=(echo select disk 0!NeueZeile!
set test=!test!echo select volume 1!NeueZeile!
set test=!test!echo list volume!NeueZeile!
set test=!test!) | DISKPART
!test!
Es kommt der Fehler "Der Befehl "(echo" ist entweder falsch geschrieben oder konnte nicht gefunden werden."
echo AA!test!AA
ergibt
DISKPART> AA(echo select disk 0
echo select volume 1
echo list volume
AA
Vermutlich fehlt da die letzte schließende Klammer aber weder das ^ noch die Klammerverdoppelung bewirkt etwas.
Muß man am Ende eigentlich ein "ECHO exit" stehen oder wird Diskpart von selbst sauber beendet?
Grüße,
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 520298
Url: https://administrator.de/contentid/520298
Ausgedruckt am: 22.11.2024 um 03:11 Uhr
4 Kommentare
Neuester Kommentar
Es reicht einfach folgendes zu machen, klammere alle untereinander geschriebenen echo Befehle und pipe das an diskpart, fertsch.
(
echo select disk 0
echo select volume 1
echo list volume
echo exit
) | diskpart
@echo off &setlocal EnableDelayedExpansion
(set lf=^
%==%
)
set "test=(echo select disk 0!lf!"
set "test=!test!echo select volume 1!lf!"
set "test=!test!echo list volume!lf!"
set "test=!test!) | DISKPART"
%test%
pause
Steffen