Top-Themen

Aktuelle Themen (A bis Z)

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

Comp Befehl - Ist das möglich ?

Frage Entwicklung Batch & Shell

Mitglied: barkingdog

barkingdog (Level 1) - Jetzt verbinden

12.01.2009, aktualisiert 13:02 Uhr, 5389 Aufrufe, 7 Kommentare

Hallo zusammen,

ich frage mich ob dass was ich vor habe so möglich ist bzw. was an meinem Code falsch ist.
So vorne Weg schon einmal der Code, damit jeder weiss was gemeint ist.

01.
@echo off & setlocal  
02.
set "Anrufe=D:\ANRUFE.TXT"  
03.
set "AnrufeTemp=D:\ANRUFETEMP.TXT" 
04.
set "CTILOG=D:\CTILOG.TXT"  
05.
 
06.
:Loop  
07.
IF exist D:\ANRUFE.TXT for /f "tokens=1-10 delims=," %%a in ('findstr /c:", 111" "%CTILOG%"^|findstr /c:",ein"')do >>"%Anrufetemp%" echo %%a,%%b,%%c,%%d,%%e,%%f 
08.
IF not exist D:\ANRUFE.TXT for /f "tokens=1-10 delims=," %%a in ('findstr /c:", 111" "%CTILOG%"^|findstr /c:",ein"')do >>"%Anrufe%" echo %%a,%%b,%%c,%%d,%%e,%%f 
09.
comp %ANRUFETEMP% %ANRUFE% 
10.
if %ERRORLEVEL% EQU 0 del %ANRUFETEMP% else %ERRORLEVEL% EQU 5 %ANRUFETEMP% > %ANRUFE% 
11.
sleep 40 
12.
goto :Loop
Es geht hier um eine Telefonliste(CTILOG.txt) , welche auf eine bestimmte Nummer ("111" )untersucht wird und ob es ein eingehender Anruf ( "ein" )war. Diese Einträge sollen
dann in die Anrufe.txt gespeichert werden. Allerdings möchte ich nur neu eingehende Anrufe in Anrufe.txt aufnhemen. Deswegen erstelle ich einmal am Anfang die Anrufe.txt,
wenn diese existiert werden die Einträge nur noch in die Anrufetemp.txt aufgenommen.
Und hier liegt jetzt auch das eigentliche Problem, ich will jetzt die Anrufetemp.txt mit der Anrufe.txt vergleichen, sind sie gleich soll die Anrufetemp.txt gelöscht werden, sind
sie unterschiedlich, soll die Annrufe.txt überschrieben werden.
Klappt beim ersten Mal, beim zweiten Durchlauf wird der Inhalt der Anrufe.txt gelöscht. Ich weiss nicht woran das liegt.


Ist mein Vorhaben so umsetzbar, oder macht es keinen Sinn. Gibt es eine möglichkeit die Abfrage die beim comp Befehl kommt "Weitere Dateien vergleichen (J/N) ?" zu deaktivieren?

Beispiel für CTILOG.txt
01.
01.12.2008,09:46:01, 100,       +49 (555) 66666,  ja,ein,       9,                     100,                     100 
02.
01.12.2008,10:00:41, 100,       +49 (777) 88888,  ja,aus,    14,                     100,                     100
Mitglied: 60730
12.01.2009 um 13:14 Uhr
Servus,

grob drüber gesehen:

nimm anstatt
comp
FC

Nimm anstatt
IF exist D:\ANRUFE.TXT
IF exist %ANRUFE%

Macht mehr Sinn eine Variable nicht nur zu deklarieren sondern auch zu benutzen.

Gruß
Bitte warten ..
Mitglied: barkingdog
12.01.2009 um 13:26 Uhr
Hallo,

ich habe jetzt den "comp"-Befehl mit dem "fc"-Befehl ersetzt. Allerdings ohne Erfolg.

01.
fc %ANRUFETEMP% %ANRUFE% 
02.
if %ERRORLEVEL% EQU 0 del %ANRUFETEMP% else %ERRORLEVEL% EQU 1 %ANRUFETEMP% > %ANRUFE% 
03.
sleep 40 
04.
goto :Loop
Wenn ich die bat ausführe und zu der Abfrage komme ob ich weitere Dateien vergleichen möchte und dann auf
"N" drücke bricht die .bat ab.
Bitte warten ..
Mitglied: 60730
12.01.2009 um 13:32 Uhr
Zitat von barkingdog:
Hallo,

ich habe jetzt den "comp"-Befehl mit dem
"fc"-Befehl ersetzt. Allerdings ohne Erfolg.
Wenn ich die bat ausführe und zu der Abfrage komme ob ich
weitere Dateien vergleichen möchte und dann auf
"N" drücke bricht die .bat ab.

Servus,

FC fragt im Unterschied zu Comp nicht ob du weitere Dateien überprüfen willst.

Beende mal alle deine Scripte - überprüfe deine Batch und starte Sie neu

Gruß
Bitte warten ..
Mitglied: barkingdog
13.01.2009 um 14:48 Uhr
Also auch das neu starten hat nichts gebracht fc fragt bei mir dennoch nach.
Jedenfalls habe ich es mittlerweile geschafft es zum Laufen zu bringen. Ich bin beim Comp geblieben und lasse
es automatisch beantworten.
Bitte warten ..
Mitglied: 60730
13.01.2009 um 15:13 Uhr
Servus,

ich versteh das zwar nicht, muß es aber dann wohl akzeptieren ...

Aber kannst du mich mal aufklären, welche Funktion in Zeile 10 bzw. 2 (in zweiten Schnippsel) abläuft, wenn der Errorlevel equ 1 ist?
fehlt da nicht ein copy oder echo

if %ERRORLEVEL% EQU 0 del %ANRUFETEMP% else %ERRORLEVEL% EQU 1 %ANRUFETEMP% > %ANRUFE%

Gruß
Bitte warten ..
Mitglied: barkingdog
13.01.2009 um 15:22 Uhr
01.
@echo off & setlocal  
02.
set "Anrufe=D:\ANRUFE.TXT"  
03.
set "AnrufeTemp=D:\ANRUFETEMP.TXT" 
04.
set "CTILOG=D:\CTILOG.TXT"  
05.
set "Antwort=D:\antwort.txt" 
06.
set "Puffer=D:\bla.txt" 
07.
set "variable=n" 
08.
 
09.
:Loop  
10.
IF exist     %Anrufe% 	for /f "tokens=1-10 delims=," %%a in ('findstr /c:", 111" "%CTILOG%"^|findstr /c:",ein"')do >>"%AnrufeTemp%"  echo %%a,%%b,%%c,%%d,%%e,%%f 
11.
IF not exist %Anrufe% 	for /f "tokens=1-10 delims=," %%a in ('findstr /c:", 111" "%CTILOG%"^|findstr /c:",ein"')do >>"%Anrufe%" 	  echo %%a,%%b,%%c,%%d,%%e,%%f 
12.
goto :vergleich 
13.
 
14.
:vergleich 
15.
echo %variable% >%antwort% 
16.
comp  %AnrufeTemp% %ANRUFE%<%antwort% 
17.
echo %ERRORLEVEL% 
18.
if  %ERRORLEVEL%==1 goto :Ungleich 
19.
if  %ERRORLEVEL%==0 del /q %AnrufeTemp% goto :Loop 
20.
sleep 5 
21.
goto :Loop 
22.
 
23.
:Ungleich 
24.
type nul > %Anrufe% 
25.
for /f "tokens=1-10 delims=," %%a in ('findstr /c:", 111" "%CTILOG%"^|findstr /c:",ein"')do >>"%Anrufe%"  echo %%a,%%b,%%c,%%d,%%e,%%f 
26.
del /q %AnrufeTemp% 
27.
goto :Loop
Also so sieht jetzt die fertige Lösung aus.
Zu deiner Frage, dass macht nichts weil es nicht funktioniert hat.

"* Bei Umleitung mit einfachem Pfeil in einem bedingtem Befehl..

z.B. IF errorlevel 1 echo irgendwas > DATEI

wird die Ausgabedatei neu angelegt, BEVOR die Bedingung
geprüft wird. D.h. wenn die Bedingung NICHT WAHR ist, wird
trotzdem die Ausgabedatei mit 0 Bytes erzeugt. Falls die Datei
bereits vorhanden war, wird sie damit zerstört."

Quelle: http://www.antonis.de/dos/batchtut/bat-kurs/index.htm#14


Eigentlich sollte es, wenn es denn funktioniert hätte, etwaige Änderungen in die Anrufe.txt schreiben sollen.
Hm ob da ein echo oder copy fehlt weiss ich nicht, ich kenn mich mit dem Ganzen nicht so gut aus.
Ich bin froh dass ich es überhaupt irgendwie geschafft habe.

Ich bin dir dankbar für deine Hilfe, aber aus irgend einem Grund hat es halt einfach nicht funktionieren wollen.
Leider weiss ich nicht warum.
Bitte warten ..
Mitglied: 60730
14.01.2009 um 10:12 Uhr
Servus,

Zu deiner Frage, dass macht nichts weil es nicht funktioniert hat.
"* Bei Umleitung mit einfachem Pfeil in einem bedingtem Befehl..
z.B. IF errorlevel 1 echo irgendwas > DATEI
wird die Ausgabedatei neu angelegt, BEVOR die Bedingung geprüft wird.
D.h. wenn die Bedingung NICHT WAHR ist, wird trotzdem die Ausgabedatei mit 0 Bytes erzeugt.
Falls die Datei bereits vorhanden war, wird sie damit zerstört."

Lass dich nicht von jedem, der eine Webseite mit Zeichensalat füllen kann verpochern
für MS-DOS bis V7.0, Stand: Juni 98

  • steht in der Überschrift - obwohl ich das eher nicht glaube, daß das Verhalten unter DOS 7 jemals so gewesen wäre .

Und meine Frage zielte genau darauf, das diese (die angefragte) Zeile eher überflüssig ist. (fehlt ein copy oder echo).

Da du mit deinem Skript zufrieden bist, hat sich die Frage ja erübrigt, wollte dich nicht nur "D*mm" sterben lassen.

Gruß
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
CMD:FTP Befehle
gelöst Frage von BoogiemanBatch & Shell11 Kommentare

Hallo, ich bins mal wieder Ich möchte jetzt per Batch auf den Server connecten und von da eine Datei ...

Netzwerkmanagement
CMD Befehl SC.exe per VPN nicht möglich, RPC-Server nicht verfügbar
gelöst Frage von Borob14Netzwerkmanagement16 Kommentare

Hi zusammen ich hoffe das ist das richtige Forum. Zum Problem: Wir nutzen Sophos VPN und ich habe einen ...

Batch & Shell
Ping-Befehl mit FIND-Pipe in IF-Befehl einbauen
gelöst Frage von ThraexBatch & Shell3 Kommentare

Schöne Grüße an die Community,, derzeit bereitet mir eine simple Anforderung arge Probleme. Ich hoffe mit dem Wissen aus ...

Microsoft Office
VBA Shell Befehl asynchron
gelöst Frage von 125218Microsoft Office1 Kommentar

Guten Abend, ich bin im Moment dran ein Makro zu schreiben, dass eine Batch-Datei ausführen soll. Diese Batch-Datei durchsucht ...

Neue Wissensbeiträge
Viren und Trojaner

Deaktivierter Keylogger in HP Notebooks entdeckt

Information von bitcoin vor 31 MinutenViren und Trojaner

Ein Grund mehr warum man Vorinstallationen der Hersteller immer blank bügeln sollte Der deaktivierte Keylogger findet sich im vorinstallierten ...

Router & Routing

Lets Encrypt kommt auf die FritzBox

Information von bitcoin vor 4 StundenRouter & Routing

In der neuesten Labor-Version der FB7490 integriert AVM unter anderem einen Let's Encrypt Client für Zugriffe auf das Webinterface ...

Internet

Was nützt HTTPS, wenn es auch von Phishing Web-Seiten genutzt wird

Information von Penny.Cilin vor 3 TagenInternet17 Kommentare

HTTPS richtig einschätzen Ob man eine Webseite via HTTPS aufruft, zeigt ein Schloss neben der Adresse im Webbrowser an. ...

Webbrowser

Bugfix für Firefox Quantum released - Installation erfolgt teilweise nicht automatisch!

Erfahrungsbericht von Volchy vor 4 TagenWebbrowser8 Kommentare

Hallo zusammen, gem. dem Artike von heise online wurde mit VersionFirefox 57.0.1 sicherheitsrelevante Bugs behoben. Entgegen der aktuellen Veröffentlichung ...

Heiß diskutierte Inhalte
Vmware
Installation Windows 10 VMware
Frage von Ghost108Vmware17 Kommentare

Hallo zusammen, versuche gerade mit Hilfe des vshpere clients eine virtuelle Windows 10 maschine aufzusetzen. 1. virtuelle Maschine erstellt ...

Exchange Server
SBS 2011 E-Mails können gesendet werden, aber nicht von extern empfangen
Frage von andreas1234Exchange Server14 Kommentare

Hallo Community, ich habe das Problem, dass seit knapp zwei Wochen die E-Mails von meinem SBS 2011 einwandfrei gesendet ...

Voice over IP
Telefonstörung - Ortsrufnummern kein Verbindungsaufbau
Frage von Windows10GegnerVoice over IP10 Kommentare

Hallo, sowohl bei uns als auch beim Opa ist es über VoIP nicht möglich Ortsrufnummern anzurufen. Es kommt nach ...

Batch & Shell
Trusted Sites für alle User auf dem PC einpflegen
Frage von xXTaKuZaXxBatch & Shell8 Kommentare

Aufgabestellung: Es sollen auf 1 PC (bzw. mehreren PCs) vertrauenswürdige Sites per Powershell eingetragen werden, die für alle User ...