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

Frage Entwicklung Batch & Shell

GELÖST

Komma aus Variable wird durch Leerzeichen ersetzt

Mitglied: themida

themida (Level 1) - Jetzt verbinden

27.11.2012, aktualisiert 01:28 Uhr, 1918 Aufrufe, 4 Kommentare

Ich bin relativ gesehn noch anfänger als bitte kein schläge :D

In meiner Batch datei möchte ich 2 zeichen aus einer variablen mit einer anderen variablen vergleichen.
normalerweiße passiert das ja mit %variable:~0,2% beim ausführen wird aber das Komma durch ein Leehrzeichen ersetzt.
Ich wär für Ideen und Lösung dankbar, die variablen %%c bis %%g mit !lastaccess! (01.01.1970 00:00) zu vergleichen

Meine Batchdatei
01.
setlocal enableDelayedExpansion 
02.
... 
03.
for /f "tokens=1,3 delims=;" %%a in (files.tmp) do ( 
04.
	for /f "tokens=1,2,3,4,5 delims=:." %%c in ('echo %%b') do ( 
05.
		if %%e GEQ !lastaccess:~6,4! ( 
06.
			if %%d GEQ !lastaccess:~3,2! ( 
07.
				if %%c GEQ !lastaccess:~0,2! ( 
08.
					if %%f GEQ !lastaccess:~11,2! ( 
09.
						if %%g GTR !lastaccess:~14,2! ( 
10.
							echo %%a 
11.
12.
13.
14.
15.
16.
17.
18.
del files.tmp 
19.
pause
DOS Ausgabe (Prompt Pfad entfernt)
01.
echo "U:\Pfad\Datei.exe";11776;25.03.2011 09:51;14.06.2012 03:28;14.06.2012 03:28;".exe" 1>files.tmp 
02.
 
03.
for /F "tokens=1,3 delims=;" %a in (files.tmp) do ( 
04.
	for /F "tokens=1,2,3,4,5 delims=:." %c in ('echo %b') do ( 
05.
		if %e GEQ !lastaccess:~6 4! ( 
06.
			if %d GEQ !lastaccess:~3 2! ( 
07.
				if %c GEQ !lastaccess:~0 2! ( 
08.
					if %f GEQ !lastaccess:~11 2! ( 
09.
						if %g GTR !lastaccess:~14 2! ( 
10.
							echo %a 
11.
12.
) ) 
13.
 
14.
del files.tmp
Mitglied: bastla
27.11.2012 um 13:11 Uhr
Hallo themida!

Verwende als Delimiter in Zeile 5 zusätzlich ein Leerzeichen - also
for /f "tokens=1,2,3,4,5 delims=:. " %%c in ("%%b") do (
Die Schreibweise mit "%%b" ist etwas kürzer und in anderen Situationen ev auch sicherer (Stichwort "Sonderzeichen"), hier aber nicht entscheidend ...

Grüße
bastla
Bitte warten ..
Mitglied: themida
27.11.2012, aktualisiert um 16:54 Uhr
hab ich vergessen um Jahreszahl und stunde zu trennen aber das bei meinen Problem keine eine Fehlermeldung kommt irritiert mich sehr
Bitte warten ..
Mitglied: bastla
27.11.2012, aktualisiert um 18:24 Uhr
Hallo themida!

Stimmt - eigentlich sollte die Zeile 9 zu einem Fehler führen ...

... anyhow - die ganze Folge von "if" würde ich ohnehin einsparen und einfach mit
01.
for /f "tokens=1,3 delims=;" %%a in (files.tmp) do ( 
02.
	for /f "tokens=1,2,3,4,5 delims=:. " %%c in ('echo %%b') do ( 
03.
        if "%%e%%d%%c%%f%%g" gtr "!lastaccess:~6,4!!lastaccess:~3,2!!lastaccess:~0,2!!lastaccess:~11,2!!lastaccess:~14,2!" echo %%a 
04.
)
prüfen ...

Anmerkung: Der Vergleich der beiden Timestamps muss als String erfolgen (deshalb die Anführungszeichen), da ein Zahlenwert 201103250951 die Grenze für arithmetische Operationen in CMD (für positive Werte: 2^31 - 1 = 2147483647) natürlich bei Weitem übersteigt.

Grüße
bastla
Bitte warten ..
Mitglied: themida
27.11.2012 um 19:51 Uhr
ich versteh zwar nicht warum als ausgabe !lastaccess:~14 2! kommt aber deine art ist besser und auch nicht so umständlich geschrieben wie meins

danke
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
Leerzeichen wird nicht in Variable geschrieben
gelöst Frage von SaschaaaaaBatch & Shell1 Kommentar

Hallo Leute, Ich habe diese Zeile: Und als Ausgabe dann: "C:\Users\Ich\extrac" anstatt den vollen Pfad aller Dateien in diesem ...

Batch & Shell
BAT - Leerzeichen in Variable entfernen
gelöst Frage von hoffi3dBatch & Shell5 Kommentare

Ich mal wieder. Ich lese gerade einige Dateien aus einem Verzeichniss aus und schreibe diese in eine Variable, das ...

Batch & Shell
Batch Variable setzten mit Leerzeichen
gelöst Frage von Marlon1Batch & Shell3 Kommentare

Hallo :) Ich würde gerne das man mit "set /p code= " 2 Wörter in die Variable "code" setzen ...

Administrator.de Feedback
Bug? "m f g" (ohne Leerzeichen) wird auch in URL ersetzt
gelöst Frage von emeriksAdministrator.de Feedback7 Kommentare

Hi, Wenn man "m f g" ohne lehrzeichen eingibt, dann wird das immer in "mit freundlichen Grüßen ersetzt". Ich ...

Neue Wissensbeiträge
Linux

Meltdown und Spectre: Linux Update

Information von Frank vor 2 TagenLinux

Meltdown (Variante 3 des Prozessorfehlers) Der Kernel 4.14.13 mit den Page-Table-Isolation-Code (PTI) ist nun für Fedora freigegeben worden. Er ...

Tipps & Tricks

Solutio Charly Updater Fehlermeldung: Das Abgleichen der Dateien in -Pfad- mit dem Datenobject ist fehlgeschlagen

Tipp von StefanKittel vor 3 TagenTipps & Tricks

Hallo, hier einmal als Tipp für alle unter Euch die mit der Zahnarztabrechnungssoftware Charly von Solutio zu tun haben. ...

Sicherheit

Meltdown und Spectre: Wir brauchen eine "Abwrackprämie", die die CPU-Hersteller bezahlen

Information von Frank vor 3 TagenSicherheit12 Kommentare

Zum aktuellen Thema Meltdown und Spectre: Ich wünsche mir von den CPU-Herstellern wie Intel, AMD oder ARM eine Art ...

Sicherheit

Meltdown und Spectre: Realitätscheck

Information von Frank vor 3 TagenSicherheit12 Kommentare

Die unangenehme Realität Der Prozessorfehler mit seinen Varianten Meltdown und Spectre ist seit Juni 2017 bekannt. Trotzdem sind immer ...

Heiß diskutierte Inhalte
Firewall
Penetrationstester-Labor - Firewalls
Frage von Oli-nuxFirewall10 Kommentare

Mich würde interessieren warum man beim Einrichten eines Penetrationstester-Labor (VMs) die Firewall der Systeme deaktivieren soll? Hat das nur ...

SAN, NAS, DAS
Wer kennt sich mit QNAP und CISCO aus ?
gelöst Frage von MachelloSAN, NAS, DAS9 Kommentare

Hallo Zusammen hier im Forum, Ich habe ein QNas 451+ und dieses NAS hat zwei GBit Lan Adapter die ...

Netzwerkgrundlagen
IPv6 Inter-VLAN Routing
gelöst Frage von clSchakNetzwerkgrundlagen9 Kommentare

Hi ich befasse mich gerade mit der Implementierung von IPv6 was bisher (in einem VLAN) korrekt funktioniert inkl. DNS ...

Windows Netzwerk
Zugriff auf den Desktop Ordner eines anderen Rechners in der gleichen Domäne
gelöst Frage von JensNomaWindows Netzwerk6 Kommentare

Guten Abend, ich war neulich mit unserem Admin am Tisch gesessen. Er an seinem Notebook angemeldet mit dem Domänen-Admin, ...