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
GELÖST

Eingegebenes in Batch in eine txt schreiben

Frage Entwicklung Batch & Shell

Mitglied: Waldgeist

Waldgeist (Level 1) - Jetzt verbinden

02.03.2007, aktualisiert 15.10.2007, 6539 Aufrufe, 6 Kommentare

Batch fordert mich auf etwas ein zugeben. Diese Eingabe möchte nach betätigen von ENTER in eine .txt schreiben lassen, und das nacher wieder aufrufen.

Hallo Leute


Ich würde mir gerne eine etwas ausführlichere backupbatch schreiben.(ja ich weis gibt bessere programme dafuer...) aber ich finde das dies, eine gute aufgabe ist um mich ein bisschen in "batch" ein zu arbeiten.

so nun schonmal mein anfang:


....

mode 100,60



echo *
echo.
echo backup-batch hauptmenu
echo.
echo
*


:START


echo was moechten sie tun?


echo.
echo backup optionen
echo *
echo [1] vollbackup
echo [2] inkrementelles backup
echo [3] differenzielles backup

echo.
echo logfile optionen
echo
**
echo [4] logfile ansehen
echo [5] logifle loeschen
echo [6] logfile inhalt loeschen
echo.
echo.
echo [b] beenden
echo.
echo.






set /p choice=Bitte Treffe Deine Auswahl:

if %choice% == 1 goto vollbackup
if %choice% == 2 goto inkrementelles
if %choice% == 3 goto differenzielles
if %choice% == 4 goto logfilea
if %choice% == 5 goto logfilel
if %choice% == 6 goto logfileil
if %choice% == b goto beenden
if not %choice% == 1 goto RESTART
if not %choice% == 2 goto RESTART
if not %choice% == 3 goto RESTART
if not %choice% == 4 goto RESTART
if not %choice% == 5 goto RESTART
if not %choice% == 6 goto RESTART
if not %choice% == b goto RESTART



k
REM ----------------------------------------------------------------------------------------------
REM ------------------------------------------------------------------------------"unterprogramme"
REM ----------------------------------------------------------------------------------------------





:vollbackup

IF exist log.txt echo %date% %time% voll_backup gewaehlt >> log.txt
IF NOT exist log.txt echo neues logfile(log.txt) erstellt am %date% um %time% > log.txt | echo da noch kein logfile(log.txt) exisiterte, wurde eines erstellt. | goto :START

IF exist path.txt echo goto :pfad vorhanden
IF NOT exist path.txt echo neue path.txt erstellt am %date% um %time% > log.txt | echo neue path.txt erstellt | echo erstellt am %date% um %time% > path.txt | goto :pfadneu



set /p i = bitte pfad der zu kopierenden daten angeben:

%i% >> path.txt | goto :START

REM xcopy /e /l /f /h /o /k


goto :START









:inkrementelles

IF exist log.txt echo %date% %time% inkrementelles_backup gewaehlt >> log.txt
IF NOT exist log.txt echo neues logfile(log.txt) erstellt am %date% um %time% > log.txt | echo da noch kein logfile(log.txt) exisiterte, wurde eines erstellt. | goto :START


goto :START



:differenzielles
IF exist log.txt echo %date% %time% differenzielles_backup gewaehlt >> log.txt
IF NOT exist log.txt echo neues logfile(log.txt) erstellt am %date% um %time% > log.txt | echo da noch kein logfile(log.txt) exisiterte, wurde eines erstellt. | goto :START


goto :START



:logfilea
IF exist log.txt echo %date% %time% logfile(log.txt) ansehen gewaehlt >> log.txt | start log.txt
IF NOT exist log.txt echo neues logfile(log.txt) erstellt am %date% um %time% > log.txt | echo da noch kein logfile(log.txt) exisiterte, wurde eines erstellt. | goto :START




goto :START



:logfilel

del log.txt
echo.
echo Das logfile(log.txt) wurde erfolgreich geloescht!
echo.

goto :START



:logfileil

REM logifle inhalt loeschen


goto :START



:RESTART
set /p _ok=*Falsche Eingabe! Bitte Treffe Deine Auswahl*
goto START

:beenden
exit




:end




so



das sind die eigentlich relevanten zeilen

F exist path.txt echo goto :pfad vorhanden
IF NOT exist path.txt echo neue path.txt erstellt am %date% um %time% > log.txt | echo neue path.txt erstellt | echo erstellt am %date% um %time% > path.txt | goto :pfadneu


ab genau hier =)

set /p i = bitte pfad der zu kopierenden daten angeben:

%i% >> path.txt | goto :START

Wenn ich das richtig verstehen funktioniert dies etwa gleich wie mein "menu" nur das diesmal die eingabe etwas länger ist, und in eine path.txt geschrieben werden soll.... probiere jetzt schon seit 2 tagen rum und wollte euch fragen ob ihr mir da helfen könntet.

Wen weitere Infos benötigt werde, liefere ich die gerne


Mit freundlichen Grüßen
Waldgeist
Mitglied: miniversum
02.03.2007 um 18:47 Uhr
So gehts
01.
set /p i=bitte pfad der zu kopierenden daten angeben: 
02.
 
03.
echo %i% >> path.txt | goto :START
Zwischen i=bitte .. KEINE Leerstelle machen.
vor den %i% >> path.txt | goto :START hat das echo gefehlt.

miniversum
Bitte warten ..
Mitglied: Biber
02.03.2007 um 19:11 Uhr
Moin Waldgeist,

willkommen im Forum.
Zumindest noch einen weiteren Denkanstoss mit auf den Weg...

Wie es aussieht, schreibst Du in die path.txt sowohl Log-Informationen wie auch Pfade, die Du vielleicht später nochmal brauchen kannst, d.h. wieder per Batch auslesen willst.

Wenn Du alles mitprotokollieren willst, was der Batch so macht, dann differenziere an dieser Stelle aber schon, ob der Pfad, den der Benutzer eingegeben hat, überhaupt existiert.
Die unsinnigen Eingaben oder Tippfehler, die ja auch im Batch nur wieder zu einem Rücksprung nach :START führen, brauchst du nun wirklich nicht mitschleppen.

01.
.... 
02.
set /p Quellpfad= bitte pfad der zu kopierenden daten angeben: 
03.
IF [%quellpfad%]==[} goto :start 
04.
If exist "%Quellpfad%" Echo %Quellpfad% >>path.txt 
05.
goto :Start 
06.
....
...und ich würde diese Datei path.txt immer in ein gleichbleibendes Verzeichnis stellen...
im Moment wird sie immer im zufällig aktuellen erwartet. Beispiel:
Echo whatever>>d:\mylogs\path.txt

Gruss
Biber
Bitte warten ..
Mitglied: Phlegma
03.03.2007 um 12:24 Uhr
hi,

mir fällt dazu ein:
01.
set /p choice=Bitte Treffe Deine Auswahl: 
02.
 
03.
if %choice% == 1 goto vollbackup 
04.
if %choice% == 2 goto inkrementelles 
05.
if %choice% == 3 goto differenzielles 
06.
if %choice% == 4 goto logfilea 
07.
if %choice% == 5 goto logfilel 
08.
if %choice% == 6 goto logfileil 
09.
if %choice% == b goto beenden 
10.
if not %choice% == 1 goto RESTART 
11.
if not %choice% == 2 goto RESTART 
12.
if not %choice% == 3 goto RESTART 
13.
if not %choice% == 4 goto RESTART  
14.
if not %choice% == 5 goto RESTART 
15.
if not %choice% == 6 goto RESTART 
16.
if not %choice% == b goto RESTART
1. der befehl sollte immer eingegrenzt werden
IF "%variable%"=="kA" goto bla
IF [%variable%]==[kA] goto bla
ansonsten is das ne fehlerquelle weiß grad nichmehr genau was dann passiern kann jedenfalls is es nich gut...

2. der untere teil mit dem if not is unnötig, besonders weil es sowieso nach dem 2ten IF NOT spätestens woanders hinspringt.
ich würde das anders machen:
<code>set /p choice=Bitte Treffe Deine Auswahl:
if "%choice%" == "1" goto vollbackup
if "%choice%" == "2" goto inkrementelles
if "%choice%" == "3" goto differenzielles
if "%choice%" == "4" goto logfilea
if "%choice%" == "5" goto logfilel
if "%choice%" == "6" goto logfileil
if "%choice%" == "b" goto beenden
echo.
echo Fehler 1,2,3,4,5,6 oder b eingeben!
pause
goto restart

viel spaß noch, Ph
Bitte warten ..
Mitglied: Waldgeist
03.03.2007 um 21:44 Uhr
Danke schöm

ist n echt geiles forum, wird auch schnell geholfen...

nur leider bin ich heut abend zu besoffen um was anständiges zu schreiben, werde mich aber sonntag oder montag wider melden, schon jetzt einmal denkeschön ^^
Bitte warten ..
Mitglied: Waldgeist
07.03.2007 um 09:45 Uhr
Die log.txt sowie die path.txt sollen immer im gleichen verzeichniss oder am gleichen Ort bzw. dort wo die batch liegt erstellt werden.
Bitte warten ..
Mitglied: Waldgeist
15.10.2007 um 08:52 Uhr
Hallo Zusammen

Da ich nicht einfach n closed anschliessen kann und ich mind. 30 Zeichen schreiben muss sind das diese hier....


--// CLOSED \\--
Bitte warten ..
Neuester Wissensbeitrag
Humor (lol)

Linkliste für Adventskalender

(3)

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

Ähnliche Inhalte
Batch & Shell
gelöst Kl. Frage: Log-File schreiben per Batch (3)

Frage von Yauhun zum Thema Batch & Shell ...

Batch & Shell
CMD-Batch hilfe: Dateiname zu txt (2)

Frage von Syscore64 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 ...

Windows 7
Verteillösung für IT-Raum benötigt (12)

Frage von TheM-Man zum Thema Windows 7 ...