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

Leere Variable wenn von Acronis ausgeführt

Frage Entwicklung Batch & Shell

Mitglied: batchfailbob

batchfailbob (Level 1) - Jetzt verbinden

14.02.2012, aktualisiert 10:11 Uhr, 2682 Aufrufe, 3 Kommentare

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.

01.
@echo off 
02.
 
03.
c: 
04.
 
05.
for /F "tokens=2" %%a in ('dir c: ^| find /i "serien"') do set cur_sn=%%a 
06.
echo Aktuelle Volumenseriennummer: %cur_sn% 
07.
 
08.
if exist c:\Admin\sn.txt ( 
09.
	set /p last_sn= <c:\Admin\sn.txt 
10.
) else ( 
11.
	set last_sn=NA 
12.
13.
echo Letzte Volumenseriennummer: %last_sn% 
14.
 
15.
 
16.
if "%cur_sn%" == "%last_sn%" ( 
17.
	echo Gleiche Platte erkannt! 
18.
	echo Tue nichts! 
19.
) else ( 
20.
	echo Unterschiedliche Platte erkannt! 
21.
	echo Lösche alle Dateien! 
22.
 
23.
	for /D %%i in (w:\Mail\*) do rd /S/Q "%%i" 
24.
	del /S/Q w:\Mail\* 
25.
 
26.
	for /D %%i in (w:\foo\*) do rd /S/Q "%%i" 
27.
	del /S/Q w:\foo\* 
28.
 
29.
	for /D %%i in (w:\bar\*) do rd /S/Q "%%i" 
30.
	del /S/Q w:\bar\* 
31.
32.
echo Speichere aktuelle Volumenseriennummer! 
33.
echo %cur_sn%> c:\Admin\sn.txt
Jemand eine Idee?

Grüße und Danke im Vorraus
Mitglied: jeb-the-batcher
14.02.2012 um 11:18 Uhr
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.
01.
echo A345:FEE2> C:\admin\sn.txt
Besser zu lesen als
01.
echo A345:FEE     2> C:\admin\sn.txt
Sprich eine Umleitung von stream2

Besser das ganze drehen um diese Art von Problemen zu vermeiden
01.
> C:\admin\sn.txt echo %cur_sn%
Gruß
jeb
Bitte warten ..
Mitglied: AndreasHoster
14.02.2012 um 11:59 Uhr
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.
Bitte warten ..
Mitglied: pieh-ejdsch
14.02.2012 um 12:59 Uhr
moin,

da es kein Handle "A345:FEE2" gibt - wird das Handle nur umgeleitet, wenn diese Ziffer als eine einzelne Ziffer dasteht.
01.
rem Handle 1 wird umgeleitet 
02.
echo 12345> testdatei 
03.
 
04.
rem oder so auch 
05.
echo 123456 1>testdatei 
06.
 
07.
rem Handle 6 wird umgeleitet 
08.
echo 12345 6>testdatei
Um Dir die Volumeseriennummer zu holen ist dir unpassend.
01.
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 
02.
  echo mach mir die Sicherung 
03.
  rem jetzt Sicherung 
04.
)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.
[/Edit]

Gruß Phil
Bitte warten ..
Neuester Wissensbeitrag
Humor (lol)

Linkliste für Adventskalender

(3)

Information von nikoatit zum Thema Humor (lol) ...

Ähnliche Inhalte
Batch & Shell
gelöst Selected Gridview Value in Variable schreiben (4)

Frage von reissaus73 zum Thema Batch & Shell ...

Microsoft Office
gelöst Makro wird beim öffnen Vorlage nicht ausgeführt (8)

Frage von Sunny89 zum Thema Microsoft Office ...

Batch & Shell
gelöst Batch Abfrage Vergleiche mit Variable goto (4)

Frage von Zunaras zum Thema Batch & Shell ...

Heiß diskutierte Inhalte
Windows Server
DHCP Server switchen (25)

Frage von M.Marz zum Thema Windows Server ...

SAN, NAS, DAS
gelöst HP-Proliant Microserver Betriebssystem (14)

Frage von Yannosch zum Thema SAN, NAS, DAS ...

Grafikkarten & Monitore
Win 10 Grafikkarte Crash von Software? (13)

Frage von Marabunta zum Thema Grafikkarten & Monitore ...

Erkennung und -Abwehr
Spam mit eigener Domain (12)

Frage von NoobOne zum Thema Erkennung und -Abwehr ...