Leere Variable wenn von Acronis ausgeführt
Hallo zusammen!
Ich habe ein kleines Problem mit folgendem Batch-Script. Wenn Ich es direkt ausführe klappt Alles wunderbar und es schreibt die Volumenseriennummer in die Datei sn.txt
Wenn ich es allerdings in Acronis als Script zum ausführen vor der Sicherung angebe, schreibt er nur ECHO ist ausgeschaltet (OFF). in die Datei. Vermutlich wird also der Variable nichts zugewiesen.
Jemand eine Idee?
Grüße und Danke im Vorraus
Ich habe ein kleines Problem mit folgendem Batch-Script. Wenn Ich es direkt ausführe klappt Alles wunderbar und es schreibt die Volumenseriennummer in die Datei sn.txt
Wenn ich es allerdings in Acronis als Script zum ausführen vor der Sicherung angebe, schreibt er nur ECHO ist ausgeschaltet (OFF). in die Datei. Vermutlich wird also der Variable nichts zugewiesen.
@echo off
c:
for /F "tokens=2" %%a in ('dir c: ^| find /i "serien"') do set cur_sn=%%a
echo Aktuelle Volumenseriennummer: %cur_sn%
if exist c:\Admin\sn.txt (
set /p last_sn= <c:\Admin\sn.txt
) else (
set last_sn=NA
)
echo Letzte Volumenseriennummer: %last_sn%
if "%cur_sn%" == "%last_sn%" (
echo Gleiche Platte erkannt!
echo Tue nichts!
) else (
echo Unterschiedliche Platte erkannt!
echo Lösche alle Dateien!
for /D %%i in (w:\Mail\*) do rd /S/Q "%%i"
del /S/Q w:\Mail\*
for /D %%i in (w:\foo\*) do rd /S/Q "%%i"
del /S/Q w:\foo\*
for /D %%i in (w:\bar\*) do rd /S/Q "%%i"
del /S/Q w:\bar\*
)
echo Speichere aktuelle Volumenseriennummer!
echo %cur_sn%> c:\Admin\sn.txt
Jemand eine Idee?
Grüße und Danke im Vorraus
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 180496
Url: https://administrator.de/contentid/180496
Ausgedruckt am: 25.11.2024 um 00:11 Uhr
3 Kommentare
Neuester Kommentar
Hallo batchfailbob,
das Problem könnte auch sein, dass %cur_sn% durchaus einen Inhalt hat, aber die Seriennr mit einer Ziffer endet.
Das führt dann dazu, z.B.
Besser zu lesen als
Sprich eine Umleitung von stream2
Besser das ganze drehen um diese Art von Problemen zu vermeiden
Gruß
jeb
das Problem könnte auch sein, dass %cur_sn% durchaus einen Inhalt hat, aber die Seriennr mit einer Ziffer endet.
Das führt dann dazu, z.B.
echo A345:FEE2> C:\admin\sn.txt
echo A345:FEE 2> C:\admin\sn.txt
Besser das ganze drehen um diese Art von Problemen zu vermeiden
> C:\admin\sn.txt echo %cur_sn%
Gruß
jeb
Hallo batchfailbob,
noch eine Anmerkung, nicht zur Problemlösung, aber zur Problemsuche (was meistens mehr das Problem ist):
Mit @echo off alle Ausgaben abschalten die zur Aufklärung dienen könnten hilft natürlich nur begrenzt weiter.
Lass doch mal das @echo off weg (kann man ja wieder reinmachen wenns nicht tut) und leite alle Ausgaben dieses Skriptes in eine Datei um.
Dann kann man eventuell auch sehen, was genau wo zugewiesen wird.
noch eine Anmerkung, nicht zur Problemlösung, aber zur Problemsuche (was meistens mehr das Problem ist):
Mit @echo off alle Ausgaben abschalten die zur Aufklärung dienen könnten hilft natürlich nur begrenzt weiter.
Lass doch mal das @echo off weg (kann man ja wieder reinmachen wenns nicht tut) und leite alle Ausgaben dieses Skriptes in eine Datei um.
Dann kann man eventuell auch sehen, was genau wo zugewiesen wird.
moin,
da es kein Handle "A345:FEE2" gibt - wird das Handle nur umgeleitet, wenn diese Ziffer als eine einzelne Ziffer dasteht.
Um Dir die Volumeseriennummer zu holen ist dir unpassend.
[Edit]
[/Edit]
Gruß Phil
da es kein Handle "A345:FEE2" gibt - wird das Handle nur umgeleitet, wenn diese Ziffer als eine einzelne Ziffer dasteht.
rem Handle 1 wird umgeleitet
echo 12345> testdatei
rem oder so auch
echo 123456 1>testdatei
rem Handle 6 wird umgeleitet
echo 12345 6>testdatei
Um Dir die Volumeseriennummer zu holen ist dir unpassend.
for /f "tokens=2" %%i in ('vol^|more +1') do (echo %%i |findstr /g:sn.txt >&3 && echo nix zu tun) 3>nul 2>&3 || (>&3 echo %%i
echo mach mir die Sicherung
rem jetzt Sicherung
)3>sn.txt
[Edit]
rem der Befehl für dir im Laufwerk c ist mit doppelpunkt und Backslash
dir c:\
rem sonst gibt Dir der dir Dir den aktuellen Pfad aus und der Findstr "sicher"
rem findet alles andere auch noch.
Gruß Phil