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

Batchdatei per Batch konfigurieren

Frage Entwicklung Batch & Shell

Mitglied: Mchael

Mchael (Level 1) - Jetzt verbinden

22.06.2009, aktualisiert 11:48 Uhr, 4166 Aufrufe, 4 Kommentare

Ich möchte mit einer Konfigurationsbatch Variablen in einer anderen Batchdatei verändern.

Hallo Mitglieder von Administrator.de,
ich hab mich die letzten 2-3 Wochen mit Batchprogrammierung beschäftig und auch viele Beispiele und Hilfestellungen in diesem Forum gefunden/genutzt. Jedoch komm ich nun leider nicht mehr weiter mit meinem Verhackstückeln, da mir leider tiefergehendes Wissen fehlt.

Ich habe eine Batchdatei geschrieben, welche Verzeichnisse bereinigt (unnötige Dateien verschiebt/löscht), in ein Archiv packt (winrar) und anschließen auf CD brennt (xcopy + incd). Damit ich nicht für jede neue Umgebung, in welcher ich diese Batch nutzen will, die komplette Batch umschreiben muss, habe ich alle Pfade über Variablen definiert. Das Programm klappt ganz gut, jedoch kam mir nun die Idee, daß ich doch bestimmt die Konfiguration für jede einzelne Umgebung auch noch automatisieren kann. Die Batch soll mir bestimmte Programmpfade automatisch suchen und dann an die dafür definierten Variablen in der Datensicherungsbatch übergeben. Jedoch stoß ich hier auf die Grenzen meiner Programmteilvorlagenzusammenkopierundeditierkunst.

Die Pfade (Beispiel Winrar) kann ich ja mit folgendem Befehl suchen:
dir c:\winrar.exe /s /b
Hier stoße ich schon auf die erste Schwierigkeit. Was ist, wenn es mehrere Festplatten gibt, kann ich direkt in allen Laufwerken suchen?
Das zweite Problem ist, wie ich diese Information in die andere Batch reinbekomme. Mit ">" kann ich die Information ja auch in eine andere Datei schreiben.

Mit "findstr" kann ich wohl auch nach der Variable in der anderen Batch selbst suchen, aber ich bekam es leider nicht hin die Beispiele so zu verändern, daß sie machten, was ich will...
Die andere Option die mir noch einfällt, wäre, daß ich irgendwie die ganzen Informationen mit der ersten Batch in ein ini.txt schreibe und dann die Variablen aus der zweiten Batch irgendwie auf diese ini zugreifen lasse.


Wie ihr sicherlich seht, besteht mein Wissen zu Zeit nur aus "Reverse Engineering" ich hoffe ich finde irgendwo "Stapelverarbeitung for Dummys" und kann mich mal richtig in die Materie einarbeiten.


PS.: Hier ist mal der Kopf meiner Datensicherungsbatch:
REM
VARIABLEN
:: Datensicherungspfade:
set DaSi=D:\DaSi\
set Backupordner=%DaSi%Backup\%DATE:~-4%%DATE:~-7,2%%DATE:~-10,2%\
set Status=%Backupordner%Status.txt
:: Systempfade:
set Winrar=c:\Programme\Winrar\winrar
set CDROM=e:\
:: Handelpfade:
set WaWi=c:\Datenbankpfad
set Inventur=%WaWi%V3\Database\Inventory\
:: Sicherungsname
set Backup=Backup_Name.rar
REM
PROGRAMMTEIL
Mitglied: pieh-ejdsch
22.06.2009 um 12:26 Uhr
Herzlich willkommen im Forum M!chael !

Für die suche hätte ich da meine StartApps.cmd die sucht standartmäßig meine PortableApps und startet diese bzw die eingegebene Anwendungen. Damit des nicht immer ewig dauert, habe ich eine Breitensuche eingebaut.

Vllt kannst Du die dafür brauchen.
01.
SartApps.cmd
01.
@echo off & setlocal 
02.
@call :clz 5 
03.
echo                     Bitte Programm zum starten eingeben  
04.
@call :lz 3 
05.
echo                     um PortableApps zu starten 
06.
@call :lz 3 
07.
echo                     nur Enter druecken  
08.
@call :lz 6 
09.
echo                     warte auf Eingabe 
10.
set /p Anwendung= 
11.
if "%Anwendung%" == "" ( 
12.
	set Anwendung=StartPortableApps.exe 
13.
	set Datei=PortableAppsPlatform.exe 
14.
	goto :test 
15.
16.
if not %Anwendung:~-4% == .exe set "Anwendung=%Anwendung%.exe" 
17.
for /f "delims=" %%i in ("%Anwendung%") do set "Datei=%%~ni.exe   " 
18.
:test 
19.
@call :clz 5 
20.
echo                     %Datei% wird analysiert 
21.
for /f %%i in ('tasklist ^| find /i "%Datei%"') do ( 
22.
	if "%%i" == "%Datei%" ( 
23.
		@call :lz 4 
24.
		echo                     %Datei% laeuft bereits 
25.
		goto :wt 
26.
27.
28.
@call :lz 
29.
echo                     Startversuch 
30.
%Datei% 2>nul 
31.
if %errorlevel% == 0 goto :Fertig 
32.
@call :clz 5 
33.
echo                     %Datei%  wird gesucht! 
34.
set /a SV=0 
35.
:suche 
36.
set /a Ay=0 
37.
set /a Ax=0 
38.
for %%i in (C D E F G H I J K L M N O P Q R S T U V W X Y Z) do ( 
39.
	if exist %%i:\ ( 
40.
		if not "%bck%" == "1" ( 
41.
			cd %%i:\ 
42.
			%%i: 
43.
			call :File %%i:\ 
44.
45.
46.
47.
if "%bck%" == "1" goto :Fertig 
48.
set /a SV+=1 
49.
if %Ax% == 0 goto :fmld 
50.
goto :suche 
51.
:Folder 
52.
for /f "delims=" %%i in ('dir /a:d-h-s /b 2^>nul') do if not "%bck%" == "1" call :UFolder "%%i" 
53.
goto :eof & set bck=%bck% 
54.
:UFolder 
55.
if "%bck%" == "1" goto :eof & set bck=%bck% & set "Ax=%Ax%" 
56.
set /a Ay+=1 
57.
cd "%~1" 
58.
if not %errorlevel% == 0 ( 
59.
set /a Ay-=1 
60.
echo Ordner "%~1" wird uebersprungen. 
61.
goto :eof & set bck=%bck% & set "Ax=%Ax%" 
62.
63.
call :File 
64.
cd.. 
65.
set /a Ay-=1 
66.
goto :eof & set bck=%bck% 
67.
:File 
68.
if %SV% == %Ay% goto :srchFile 
69.
call :Folder 
70.
goto :eof & set bck=%bck% & set "Ax=%Ax%" 
71.
:srchFile 
72.
set /a Ax+=1 
73.
for /f "delims=" %%i in ('dir  /a:-d-h-s /b "%Anwendung%" 2^>nul') do ( 
74.
	if not "%bck%" == "1" ( 
75.
		if "%Anwendung%" == "%%~nxi" %%i 
76.
		call :clz 5 
77.
		echo                     "%%~nxi" 
78.
		call :lz 3 
79.
		echo                     wird gestartet 
80.
		set bck=1 
81.
82.
83.
goto :eof & set bck=%bck% & set "Ax=%Ax%" 
84.
:Fertig 
85.
call :clz 5 
86.
echo                     %Datei% wurde gestartet 
87.
call :lz 
88.
echo                     Fertig 
89.
:wt 
90.
if "%1" == "" (set png=6) else set png=%1 
91.
ping localhost -n %png% > nul 
92.
goto :eof 
93.
:clz 
94.
cls 
95.
call :lz %1 
96.
goto :eof 
97.
:lz 
98.
@if "%1" == "" (set lz=2) else set lz=%1 
99.
:lzn 
100.
@set /a lz-=1 
101.
echo. 
102.
@if %lz% == 0 (goto :eof) else goto :lzn 
103.
:fmld 
104.
call :clz 5 
105.
if "%Anwendung%" == "StartPortableApps.exe" (echo                     USB Stick nicht gesteckt!) else echo                     %Anwendung%  nicht gefunden! 
106.
goto :eof
quatsch ich wollte noch nicht senden bin noch am schreiben wenn das zu lesen ist.
Bitte warten ..
Mitglied: pieh-ejdsch
22.06.2009 um 14:08 Uhr
So jetzt nochmal richtig.

wieso willst Du erst eine andere Batch erstellen wenn Du doch die Variablen in Deiner Batch dafür hast?
Bau das doch alles in eine Batch ein, die aktive Batch kann doch genauso die Erstellte Ini auslesen bzw Du brauchst diese Ini erst gar nicht.

Für andere Umgebungen... wie sind diese definiert?
wenn Du Deinen Datensicherungsordner immer auf D:\ hast woher weist Du das D:\ existiert. solltest Du (/empfehle ich Dir) also auch eine AUTO abänderung mit ein(zu)bauen.

Ähm... durch den Kopf deiner Batch kann man nicht alle Infos entnehmen!

welche Variablen brauchst Du im weiteren Verlauf der Batch ?

zB
set DaSi=D:\DaSi\
set Backupordner=%DaSi%Backup\%DATE:~-4%%DATE:~-7,2%%DATE:~-10,2%\
set Status=%Backupordner%Status.txt

kannst Du zu
01.
set Status=D:\DaSi\%DATE:~-4%%DATE:~-7,2%%DATE:~-10,2%\%Status.txt
verkürzen wenn Du die Variablen
DaSi
Backupordner
nicht mehr weiter benötigst.



um also Winrar immer den Pfad als Autosearch zu übergeben:
01.
@echo off & enabledelayedexpansion 
02.
for %%i in (C D E F G H I J K L M N O P Q R S T U V W X Y Z) do ( 
03.
	if not defined Winrar if exist %%i:\ ( 
04.
		for /f "delims=" %%i in ('dir  /a:-d-h-s /b /s Winrar.exe 2^>nul') do set Winrar=%%i 
05.
06.
)
für deinen Datensicherungsordner wäre das dann entsprechend:
01.
@echo off & enabledelayedexpansion 
02.
for %%i in (C D E F G H I J K L M N O P Q R S T U V W X Y Z) do ( 
03.
	if not defined Inventur if exist %%i:\ ( 
04.
		for /f "delims=" %%i in ('dir  /a:d-h-s /b /s Inventory 2^>nul ^| find "V3\Database\Inventory\" ') do set Inventur=%%i 
05.
06.
)


Dein Brennerlaufwerk könntest Du wenn/weil Variabeler Buchstabe mit

01.
:Brenner 
02.
set /p CDROM=Bitte Laufwerksbuchstabe vom Brenner eingeben!     
03.
if not defined CDROM goto :Brenner 
04.
set CDROM=%CDROM:~0,1%:\
definieren.

wenn Du die Batch nur vom CMD ausfüren willst mit
Batchname.bat Brennerbuchstabe
kannst Du
01.
set CDROM=%~1 
02.
if not defined CDROM (echo Brennerlaufwerkseingabe fehlt! & ping localhaost -n 4 >nul & exit /b 1) 
03.
set CDROM=%CDROM:~0,1%:\
verwenden.
so mehr infos hab ich nicht von Dir bekommen....

Gruß Phil
Bitte warten ..
Mitglied: Mchael
22.06.2009 um 16:06 Uhr
hmm ok ich hoffe ich bekomm jetzt kein "to long didnt read" ;)
Wir haben eine kleine Warenwirtschaft, welche auf mehreren Computern (>30) installiert ist. Diese Computer gehören keinem gemeinsamen Netz an, sondern sind alle unabhängig voneinander. Als kleinen Freundschaftsdienst haben wir den Kunden eine sehr simple aber funktionierende Datensicherung auf CD-RW Rohlinge in Form einer Batch mitgegeben, welche jeden Abend per Taskplaner automatisch gestartet wird und keinerlei Eingaben durch den Kunden benötigt:
01.
taskkill /T /im wawi.exe 
02.
c:\programme\winrar\winrar a -m5 -o+ c:\dasi\backup_kunde123.rar c:\wawi\v3 
03.
xcopy C:\DaSi\backup_kunde123.rar d: /y 
04.
shutdown -f -r 

Da die Sicherungen größer wurden, beschloßen wir die Batch dahingehen zu ändern, daß sie nun auch unbenötigte Dateien löscht. Ich hab dann folgendes draus gebastelt:

DaSi.bat:
01.
@echo off 
02.
REM =======================VARIABLEN======================= 
03.
::  Datensicherungspfade: 
04.
	set DaSi=D:\DaSi\ 
05.
	set Backupordner=%DaSi%Backup\%DATE:~-4%%DATE:~-7,2%%DATE:~-10,2%\ 
06.
	set Status=%Backupordner%Status.txt 
07.
::  Systempfade: 
08.
	set Winrar=c:\Programme\Winrar\winrar 
09.
	set CDROM=e:\ 
10.
::  Handelpfade: 
11.
	set WaWi=c:\Datenbankpfad 
12.
        set Inventur=%WaWi%V3\Database\Inventory\ 
13.
::  Sicherungsname 
14.
	set Backup=backup_kunde123.rar 
15.
REM ======================PROGRAMMTEIL===================== 
16.
Title Datensicherung 
17.
color 9f 
18.
 
19.
call %DaSi%DASI_Schritt0_prep.bat 
20.
ping -n 5 localhost  > nul 
21.
echo. 
22.
 
23.
call %DaSi%DASI_Schritt1_clean.bat 
24.
ping -n 5 localhost  > nul 
25.
echo. 
26.
 
27.
call %DaSi%DASI_Schritt2_pack.bat 
28.
ping -n 5 localhost  > nul 
29.
echo. 
30.
 
31.
call %DaSi%DASI_Schritt3_burn.bat 
32.
ping -n 5 localhost  > nul 
33.
echo. 
34.
echo. 
35.
 
36.
echo ---------------------------------------- 
37.
echo Datensicherung erfolgreich abgeschlossen   
38.
echo ---------------------------------------- 
39.
echo Datensicherung abgeschlossen um: %time:~0,2%:%time:~3,2% >> %Status% 
40.
ping -n 10 localhost  > nul 
41.
 
42.
echo on 
43.
pause 
44.
@shutdown -f -r -t 60 -c "Der PC wird neugestartet um die Datensicherung abzuschließen."

DASI_Schritt0_prep.bat:
01.
md %Backupordner% 
02.
echo Datensicherung wurde gestartet um: %time:~0,2%:%time:~3,2% > %Status% 
03.
 
04.
cls 
05.
echo !!WARNUNG!! 
06.
echo Bitte den Computer waehrend der Sicherung nicht benutzen! 
07.
echo Tasten "STRG" + "C" gleichzeitig druecken um Datensicherung abzubrechen. 
08.
ping -n 5 localhost  > nul 
09.
echo. 
10.
echo. 
11.
 
12.
echo Arbeitsschritt 1: Sicherungsvorbereitung   
13.
echo ---------------------------------------- 
14.
 
15.
echo    - Pruefen ob WaWi gestartet ist. 
16.
ping -n 3 localhost  > nul 
17.
tasklist |find "Wawi.exe" >nul 
18.
if errorlevel 1 set vorhanden=1 
19.
if defined vorhanden ( 
20.
		echo Task "Wawi.exe" war nicht aktiv: %time:~0,2%:%time:~3,2% >> %Status% 
21.
	echo    ^= Anwendung nicht aktiv. 
22.
) else ( 
23.
	echo    - Anwendung wird  in 60 Sekunden beendet 
24.
	ping -n 60 localhost  > nul 
25.
	taskkill /f /im Wawi.exe 2>nul 
26.
	echo Task "Wawi.exe" wurde beendet um: %time:~0,2%:%time:~3,2% >> %Status% 
27.
	echo    ^= Anwendung "Wawi" wurde beendet) 
28.
set vorhanden=
DaSi_Schritt1_clean.bat:
01.
echo Arbeitsschritt 2: Datenbereinigung   
02.
echo ---------------------------------------- 
03.
echo    - Suche nach aelterer Datensicherung. 
04.
ping -n 3 localhost  > nul 
05.
 
06.
if exist %DaSi%%Backup% ( 
07.
	echo    -- Alte Datensicherung wird geloescht. 
08.
	del %DaSi%%Backup% /f /q 
09.
	echo Vorherige Datensicherung wurde geloescht: %time:~0,2%:%time:~3,2% >> %Status% 
10.
) else ( 
11.
	echo    -- Aeltere Sicherung nicht vorhanden. 
12.
	echo Keine aeltere Datensicherung vorhanden: %time:~0,2%:%time:~3,2% >> %Status%) 
13.
ping -n 3 localhost  > nul 
14.
 
15.
echo    - Suche nach gepackten Dateien. 
16.
ping -n 3 localhost  > nul 
17.
 
18.
set vorhanden= 
19.
for /R %Wawi% %%a in (*.zip) do set vorhanden=1 
20.
if defined vorhanden ( 
21.
	echo    -- Zip Archive werden geloescht. 
22.
	xcopy %Wawi%*.zip %Backupordner% /s /c /q /r /h /y 
23.
	del %Wawi%*.zip /f /q 
24.
	echo Zip Archive geloescht: %time:~0,2%:%time:~3,2% >> %Status% 
25.
) else ( 
26.
	echo    -- Keine Zip Archive vorhanden. 
27.
	echo Keine Zip Archive vorhanden: %time:~0,2%:%time:~3,2% >> %Status%) 
28.
ping -n 3 localhost  > nul 
29.
 
30.
set vorhanden= 
31.
for /R %Wawi% %%a in (*.rar) do set vorhanden=1 
32.
if defined vorhanden ( 
33.
	echo    -- Rar Archive werden geloescht. 
34.
	xcopy %Wawi%*.rar %Backupordner% /s /c /q /r /h /y 
35.
	del %Wawi%*.rar /f /q 
36.
	echo Rar Archive geloescht: %time:~0,2%:%time:~3,2% >> %Status% 
37.
) else ( 
38.
	echo    -- Keine Rar Archive vorhanden. 
39.
	echo Keine Rar Archive vorhanden: %time:~0,2%:%time:~3,2% >> %Status%) 
40.
ping -n 3 localhost  > nul 
41.
 
42.
echo    - Suche nach Sicherungskopien. 
43.
ping -n 3 localhost  > nul 
44.
 
45.
set vorhanden= 
46.
for /R %Wawi% %%a in (_*) do set vorhanden=1 
47.
if defined vorhanden ( 
48.
	echo    -- _Dateien werden geloescht. 
49.
	xcopy %Wawi%_* %Backupordner% /s /c /q /r /h /y 
50.
	del %Wawi%_* /f /q 
51.
	echo _Dateien wurden geloescht: %time:~0,2%:%time:~3,2% >> %Status% 
52.
) else ( 
53.
	echo    -- Keine _Dateien vorhanden. 
54.
	echo Keine _Dateien vorhanden: %time:~0,2%:%time:~3,2% >> %Status%) 
55.
ping -n 3 localhost  > nul 
56.
 
57.
set vorhanden= 
58.
for /R %Wawi% %%a in (*kopie*) do set vorhanden=1 
59.
if defined vorhanden ( 
60.
	echo    -- Kopien werden geloescht. 
61.
	xcopy %Wawi%*kopie* %Backupordner% /s /c /q /r /h /y 
62.
	del %Wawi%*kopie* /f /q 
63.
	echo Kopien wurden geloescht: %time:~0,2%:%time:~3,2% >> %Status% 
64.
) else ( 
65.
	echo    -- Keine Kopien vorhanden. 
66.
	echo Keine Kopien vorhanden: %time:~0,2%:%time:~3,2% >> %Status%) 
67.
ping -n 3 localhost  > nul 
68.
 
69.
echo    - Suche nach Datenbankdateien. 
70.
ping -n 3 localhost  > nul 
71.
 
72.
set vorhanden= 
73.
for /R %Wawi% %%a in (*.bak) do set vorhanden=1 
74.
if defined vorhanden ( 
75.
	echo    -- Backups werden geloescht. 
76.
	xcopy %Wawi%*.bak %Backupordner% /s /c /q /r /h /y 
77.
	del %Wawi%*.bak /f /q 
78.
	echo Backups wurden geloescht: %time:~0,2%:%time:~3,2% >> %Status% 
79.
) else ( 
80.
	echo    -- Keine Backups vorhanden. 
81.
	echo Keine Backups vorhanden: %time:~0,2%:%time:~3,2% >> %Status%) 
82.
ping -n 3 localhost  > nul 
83.
 
84.
set vorhanden= 
85.
for /R %Wawi% %%a in (*.log) do set vorhanden=1 
86.
if defined vorhanden ( 
87.
	echo    -- Logs werden geloescht. 
88.
	xcopy %Wawi%*.log %Backupordner% /s /c /q /r /h /y 
89.
	del %Wawi%*.log /f /q 
90.
	echo Logs wurden geloescht: %time:~0,2%:%time:~3,2% >> %Status% 
91.
) else ( 
92.
	echo    -- Keine Logs vorhanden. 
93.
	echo Keine Logs vorhanden: %time:~0,2%:%time:~3,2% >> %Status%) 
94.
ping -n 3 localhost  > nul 
95.
 
96.
echo    - Inventursicherungen werden gesucht. 
97.
ping -n 3 localhost  > nul 
98.
 
99.
set vorhanden= 
100.
for /R %Inventur% %%a in (item.*) do set vorhanden=1 
101.
if defined vorhanden ( 
102.
	echo    -- Inventursicherungen werden geloescht. 
103.
	xcopy %Inventur%item.dbf %Backupordner% /s /c /q /r /h /y 
104.
	del %Inventur%item.dbf /f /q 
105.
	echo Inventursicherungen wurden geloescht: %time:~0,2%:%time:~3,2% >> %Status% 
106.
) else ( 
107.
	echo    -- Keine Inventursicherung vorhanden. 
108.
	echo Keine Inventursicherung vorhanden: %time:~0,2%:%time:~3,2% >> %Status%) 
109.
ping -n 3 localhost  > nul 
110.
 
111.
set vorhanden= 
112.
echo    ^= Datenbereinigung wurde abgeschlossen. 
113.
echo Bereinigung abgeschlossen um: %time:~0,2%:%time:~3,2% >> %Status%
DaSi_Schritt2_pack.bat
01.
echo Arbeitsschritt 3: Erstellung Sicherung   
02.
echo ---------------------------------------- 
03.
ping -n 3 localhost  > nul 
04.
 
05.
echo    - Sicherungsarchiv wird erstellt. 
06.
%Winrar% a -m5 -o+ %DaSi%%Backup% %Wawi% 
07.
echo Sicherungsarchiv wurde erstellt: %time:~0,2%:%time:~3,2% >> %Status% 
08.
 
09.
ping -n 3 localhost  > nul 
10.
echo    ^= Sicherungsarchiv wurde erstellt.
DaSi_Schritt3_burn.bat
01.
echo Arbeitsschritt 4: Backup-CD erstellen   
02.
echo ---------------------------------------- 
03.
ping -n 3 localhost  > nul 
04.
 
05.
echo    - Daten werden auf CD gebrannt. 
06.
xcopy %DaSi%%Backup% %CDROM% /y 
07.
echo Backup-CD wurde erstellt: %time:~0,2%:%time:~3,2% >> %Status% 
08.
ping -n 3 localhost  > nul 
09.
 
10.
echo    ^= Backup-CD wurde erstellt.



Jetzt sieht halt nicht jeder PC gleich aus. Die Laufwerke sind anders, die Programme liegen woanders und so weiter... Ich hab das ganze schon so vereinfacht, daß ich die Pfade als Variablen in der Kopf Batch definiere. Mir kam halt nachts kurz vom einschlafen die Idee, daß ich die Programmpfade und den Namen für die Sicherung irgendwie automatisch definieren kann und nicht bei jedem Kunden manuell ändern muss. Also eine Batch hätte, welche ich einmalig bei "installation" der Batch ausführe um die eigentlich Batch zu konfigurieren.
Wie gesagt, habe ich im Prinzip diese Batches nicht selber geschrieben, sondern zum größten Teil aus anderen Programmen herauskopiert, im kleinem getestet und für meine Zwecke angepasst. Meine Programmierkenntnisse in Batch sind nicht wirklich die besten ;(
Bitte warten ..
Mitglied: pieh-ejdsch
25.06.2009 um 01:25 Uhr
so nun komm ich mal hierher...

bedeutet jetzt? das die Sicherung funktioniert aber noch nicht auf allen Pcs eingerichtet ist oder ?

jedenfalls brauchst Du eine Installierungshilfe für die Pfadangleichung wegen eines sagen wir "Programmupdates"!
es ist dann in diesem Fall bestimmt doch besser jeweils eine INI Datei anzulegen als jedesmal die Batchdateie(n) zu modifizieren.
das hat dann den Vorteil, wenn wieder ein "Programmupdate" fällig ist, es geht schneller und sauberer und braucht keine erneute Installhilfe.

So ganz ohne manuellen Eingriff wirst Du die Installation nicht hinbekommen, es sei denn von der PacketWriting Software wissen wir den Namen
um den Brennerlaufwerksbuchstaben zu konfigurieren. Mit irgendetwas musst Du ja die Backups auf die RWs bekommen!

das würde eventuell über folgende Befehle zum testen gehen:
  • VOL wenn keine CD drin errolevel 1 aber wenn Cardreader Installiert sind oder noch ein CD laufwerk ist eine eingabe erforderlich.
  • MOUNTVOL gibt so eine Anzeige mit allen eingehangenen Laufwerken aus ich weis nicht wie das Aufgelistet wird aber eine Zeile Vor A:\ ist bei mir das Brennerlaufwerk bzw CDLaufwerk kann natürlich von PC zu PC Verschieden sein.
  • CHKDSK gibt errorlevel 3 wenn keine CD drin ist (Problem Cardreader und weitere CD Laufwerke) meldung wenn CD drin ist, das RAW Dateisysteme nicht unterstützt werden.
  • DIR bei suche nach autorun.inf und Vorhandensein auf CD erfolg, oder bei suche nach einzigartiger datei auf CD vllt Backupdatei? (CD muss drin sein sonst Meldung Gärät nicht bereit.)

Du kannst noch den Laufwerksbuchstaben über den Registryeintrag von einer Brennersoftware bekommen (wenn überall nero oder andere Brennsoftware da ist gehts leicht rauszufinden. sonst weis ich echt nicht wie der Buchstabe ohne manuelle Eingabe zu bekommen ist.

die einzigartigen Backupnamen könntest Du:
  • über das Auslesen der Mac-Adresse der (vorhandenen) Netzwerkkarte. Befehl IPCONFIG -> bleibt immer gleich auch nach Neuinstallation vom System
  • dem Installierungdatum vom System und / oder anderer Software aus der Registry bekommen.
  • der ProductID vom System (was aber vllt bei mehreren gleichen PCs nicht unterschiedlich sein muss wenn OEM-Ware aus der Registry
  • den WPA Key oder SigningHash (hat nichts mit WLAN zu tun) auch aus der Registry ->wäre das einfachste
  • Über eine einzigartige gespeicherte Zeichenfolge in einer Datei -> wenn Datei abhanden kommt ist das schlecht
  • über Seriennummern des Arbeitsspeichers (auch des Herstellungsdatumes) -> externe Software erforderlich CPUID

Die (temp)Pfade der Sicherungsordner sind kein Problem diese zu finden genauso wie die Pfade vom Packprogramm.

so warte auf Feedback
Bitte warten ..
Neuester Wissensbeitrag
Windows 10

Powershell 5 BSOD

(8)

Tipp von agowa338 zum Thema Windows 10 ...

Ähnliche Inhalte
Batch & Shell
Batch zum bearbeiten mehrerer CSV (3)

Frage von Matzus87 zum Thema Batch & Shell ...

Erkennung und -Abwehr
gelöst Lokale Sicherheitsrichtlinie mit Admin-Konto konfigurieren (6)

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

Batch & Shell
Batch-Variable nach Stichworten aus TXT Datei durchsuchen (3)

Frage von Markus5579 zum Thema Batch & Shell ...

Firewall
Firewall für DMZ und Intranet richtig konfigurieren (3)

Frage von vGaven zum Thema Firewall ...

Heiß diskutierte Inhalte
Microsoft
Ordner mit LW-Buchstaben versehen und benennen (19)

Frage von Xaero1982 zum Thema Microsoft ...

Outlook & Mail
gelöst Outlook 2010 findet ost datei nicht (19)

Frage von Floh21 zum Thema Outlook & Mail ...

Windows Server
Server 2008R2 startet nicht mehr (Bad Patch 0xa) (18)

Frage von Haures zum Thema Windows Server ...

Netzwerkmanagement
gelöst Anregungen, kleiner Betrieb, IT-Umgebung (18)

Frage von Unwichtig zum Thema Netzwerkmanagement ...