Dynamisches Script
Hallo zusammen,
vllt könnt ihr mir helfen!
Ich habe eine VM als Dienst eingerichtet, und da ich das in Zukunft noch öfter machen werde, will ich es automatisieren.
Jetzt habe ich folgendes Installationsscript geschrieben:
Soweit so gut.
Nachdem das erledigt ist soll nun etwas geschehen.
1) Es soll nach der Datei VMWare.exe und der Datei Eigene.vmx suchen und den Pfad in 2 Textdateien schreiben:
dir /B /S c:\vmware.exe>Pfad.txt
dir /B /S c:\Eigene.vmx>Datei.txt
a) Allerdings will ich nicht nur in C:\ suchen sondern auf allen Festplatten
b) Nachdem eine Datei gefunden wurde soll Schluss sein, unter Win7 zB findet er c:\Documents and Settings & c:\Users, und das ist ja im Grunde das selbe.
Die Dateien werden ja nun auf jedenfall angelegt und ich muss erstmal prüfen ob sie leer sind:
Falls die Dateien leer sind soll eine Error.txt geöffnet werden die weitere Hinweise zur Lösung enthält.
Wenn die Pfade/Dateien korrekt sind ist die Installation an dieser Stelle fertig.
Jetzt wird der Dienst immer automatisch mit der vmstart.cmd gestartet.
2) Diese sieht in etwa so aus:
a) Sollte aber so aussehen: start %~dp0Pfad.txt -x %~dp0Datei.txt
Klappt aber nicht. Habe schon einige Sachen ausprobiert, wie: type und irgendwas mit < oder > aber nichts funktioniert.
Für jede Hilfe wäre ich sehr Dankbar!
Gruß
Thomas
vllt könnt ihr mir helfen!
Ich habe eine VM als Dienst eingerichtet, und da ich das in Zukunft noch öfter machen werde, will ich es automatisieren.
Jetzt habe ich folgendes Installationsscript geschrieben:
if not exist c:\vmservice md c:\vmservice
copy %~dp0instsrv.exe C:\vmservice /y
copy %~dp0srvany.exe C:\vmservice /y
copy %~dp0vmstart.cmd C:\vmservice /y
c:\vmservice\instsrv VMStart c:\vmservice\srvany.exe
start regedit.exe /s %~dp0VMSTART.reg
sc config VMStart start= auto
sc config vmstart obj= LocalSystem
Soweit so gut.
Nachdem das erledigt ist soll nun etwas geschehen.
1) Es soll nach der Datei VMWare.exe und der Datei Eigene.vmx suchen und den Pfad in 2 Textdateien schreiben:
dir /B /S c:\vmware.exe>Pfad.txt
dir /B /S c:\Eigene.vmx>Datei.txt
a) Allerdings will ich nicht nur in C:\ suchen sondern auf allen Festplatten
b) Nachdem eine Datei gefunden wurde soll Schluss sein, unter Win7 zB findet er c:\Documents and Settings & c:\Users, und das ist ja im Grunde das selbe.
Die Dateien werden ja nun auf jedenfall angelegt und ich muss erstmal prüfen ob sie leer sind:
set Pfad=%~dp0Pfad.txt
set Datei=%~dp0Datei.txt
if Not exist "%Pfad%" echo Datei %Pfad% nicht vorhanden&goto :EOF
for %%A in (%Pfad%) do if %%~zA GTR 0 (
) Else (
%~dp0Error.txt
exit
)
if Not exist "%Datei%" echo Datei %Datei% nicht vorhanden&goto :EOF
set Pfad2=type %~dp0Datei.txt
for %%A in (%Datei%) do if %%~zA GTR 0 (
) Else (
%~dp0Error.txt
)
Wenn die Pfade/Dateien korrekt sind ist die Installation an dieser Stelle fertig.
Jetzt wird der Dienst immer automatisch mit der vmstart.cmd gestartet.
2) Diese sieht in etwa so aus:
start vmware.exe -x "E:\VMaschinen\FS01\Eigene.vmx"
Klappt aber nicht. Habe schon einige Sachen ausprobiert, wie: type und irgendwas mit < oder > aber nichts funktioniert.
Für jede Hilfe wäre ich sehr Dankbar!
Gruß
Thomas
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 307105
Url: https://administrator.de/contentid/307105
Ausgedruckt am: 25.11.2024 um 03:11 Uhr
1 Kommentar