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 IPWünsch Dir wasWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

gelöst Variable mit ungefärem Zeichensatz vergleichen

Mitglied: Rufio3000

Rufio3000 (Level 1) - Jetzt verbinden

15.09.2009, aktualisiert 10:54 Uhr, 3833 Aufrufe, 8 Kommentare

Ich würde ganz gerne eine "dynamische Variable" mit Textteilen vergleichen, die nicht exakt mit der Variablen übereinstimmen.

Hi und einen schönen guten Morgen,
habe hier schon oft Anregungen und Tipps gefunden, aber diesmal hilft wohl nur ein eigener Beitrag.

Also, mein Problem ist folgendes:

Ich lese mehrere Dateien aus einem Verzeichnis aus und lasse, per ECHO, die Dateinamen und weitere relevante Informationen in eine Textdatei ausgeben.
Das funktioniert auch alles wunderbar, allerdings schaffe ich es nicht einen Vergleich anzustellen, bei dem die "ungefären" Textteile der Variablen als TRUE angesehen werden...

Hier mal das Bisherige:
@FOR /F "delims=" %%i IN ('DIR %SS%\*.exe *.msi /B') DO (
@IF "%%~ni" == "Name der Software OHNE Versionsnr. und u.U. mit Leerzeichen" SET "Silent=%MSI%"
@ECHO Filename: "{src}\%SS%\%%i"; Parameters: "%Silent%"; %RunFlags%>>Setup.txt
@PAUSE
)

Die Variable %MSI% ist schon definiert und soll, bei Vorhandensein eines bestimmten Dateinamens bzw. Names der Software, der durch %%~ni übergeben wird, an Stelle von %Silent% verwendet werden.
Da sich die Dateienamen mit der Versionsnr. (welche ich unbedingt beibehalten will) ändern, soll der Vergleich eben nur "so in etwa" stattfinden.
Ist es irgendwie möglich dass der Vergleich TRUE ergibt, wenn 2 oder mehr übereinstimmende Textteile mit %%~ni verglichen werden?

Danke schonmal für eure Hilfe, ihr schafft das!

MfG

Rufio3K
Mitglied: Rufio3000
15.09.2009 um 09:52 Uhr
Bitte kein VB.
Würde die ganze Sache gerne per Batch lösen.
Falls dafür seperate Software benötigt wird und diese Freeware ist, würde ich das ebenfalls dulden ;)
Bitte warten ..
Mitglied: bastla
15.09.2009 um 10:14 Uhr
Hallo Rufio3000!

Wenn ich "Zeichensatz" in Deinem Sinn richtig interpretiere, ist damit "Textteil" gemeint - in diesem Fall kannst Du mehrere "findstr" kombinieren, um auf eine entsprechende Anzahl an Übereinstimmungen zu prüfen - ungetestet also etwa:
Zur Info: findstr /?

Grüße
bastla

P.S.: Da ich auch "duldsam" bin , nur als Hinweis für das nächste Mal: https://www.administrator.de/helpsystem/detail.php?idx=20#toc27
Bitte warten ..
Mitglied: Rufio3000
15.09.2009 um 10:25 Uhr
Textteile, richtig... hab's korrigiert.

Leider funktioniert deine Variante nicht.
Die Befehle werden zwar ausgeführt, allerdings wird %Silent% nicht ersetzt, sondern bleibt weiterhin bestehen.
Also, nichts steht da wo eigentlich %SILENT% bzw. %MSI% stehen müsste...
Woran kann das liegen?
Habs auch schon mit !Silent! probiert, allerdings ebenfalls ohne Erfolg
Bitte warten ..
Mitglied: Rufio3000
15.09.2009 um 13:00 Uhr
So, hab's jetzt so gelöst:

@FOR /F "delims=" %%i IN ('DIR %SS%\*.exe *.msi /B') DO (
ECHO %%~ni|FINDSTR /I "Name der Software" && IF %ERRORLEVEL% == 0 SET Silent=%MSI%
ECHO Filename: "{src}\%SS%\%%i"; Parameters: "!Silent!"; %RunFlags%>>Setup.iss
SET Silent=
)

Danke trotzdem für die Hilfe

MfG
Rufio3K
Bitte warten ..
Mitglied: bastla
15.09.2009 um 13:39 Uhr
Hallo Rufio3000!

Sorry - hatte nicht auf die Schleife geachtet ...
Habs auch schon mit !Silent! probiert, allerdings ebenfalls ohne Erfolg
So sollte es (noch immer ungetestet) mit "!Silent!" klappen:
Grüße
bastla
Bitte warten ..
Mitglied: bastla
15.09.2009 um 13:42 Uhr
Hallo Rufio3000!

Wenn Du nur ein einziges "findstr" verwendest und der "Name der Software" Leerzeichen enthält, wird nach jedem einzelnen Wort dieses Namens gesucht und der Errorlevel ist 0, wenn auch nur eines davon im Dateinamen enthalten ist ...

... abgesehen davon, dass Du (wegen der Schleife) !ERRORLEVEL! abfragen müsstest (daher verwende ich stattdessen auch &&).

Grüße
bastla
Bitte warten ..
Mitglied: Rufio3000
15.09.2009 um 13:58 Uhr
Recht haste, habe noch ein /C: vor den Textteil gepackt und so macht's auch was es soll:

@FOR /F "delims=" %%i IN ('DIR %SS%\*.exe *.msi /B') DO (
ECHO %%~ni|FINDSTR /I /C:"Name der Software" && IF %ERRORLEVEL% == 0 SET Silent=%MSI%
ECHO Filename: "{src}\%SS%\%%i"; Parameters: "!Silent!"; %RunFlags%>>Setup.iss
SET Silent=
)

BTW: Irgendwie gingen die letzten Einträge bischen durchnander... siehe Timestamp; das mit !Silent! hatte ich schon so gemacht.
Also, vielen Dank für deine Hilfe

MfG
Rufio3K
Bitte warten ..
Mitglied: Rufio3000
15.09.2009 um 14:11 Uhr
Ah, wusste nicht mehr genau was das && zu bedeuten hat, aber danke.
Bitte warten ..
Ähnliche Inhalte
Microsoft Office
Excel csv-Import Zeichensatz-Problem
gelöst Frage von thaefligerMicrosoft Office2 Kommentare

Hallo zusammen ich bekomme eine csv-Datei geliefert, in welcher die Daten mit irgend einem komischen Zeichensatz abgespeichert sind (kenne ...

VB for Applications
Zellen vergleich
Frage von DFMSBGVB for Applications2 Kommentare

Guten Abend Community, Ich habe ein Anliegen. Ich habe eine Tabelle (2000 Zeilen) Hier sollen in jeder Zeile, 2 ...

Windows Tools
Zeiterfassungssysteme im Vergleich
Anleitung von Michl16Windows Tools13 Kommentare

Hallo zusammen, gerade durch die neuen Regelungen der EU schießen Zeiterfassungssysteme momentan wie Pilze aus dem Boden. Hier das ...

Visual Studio
String-Vergleich optimieren
gelöst Frage von MarcoBornVisual Studio4 Kommentare

Hallo Forum, ich habe folgenden Code-Schnipsel (vereinfacht): Ich vergleiche für jeden Absatz eines Word-Textes Inhalte mit 9 Strings, die ...

Neue Wissensbeiträge
Linux Tools
Rsync datenvolumen reduzieren mit -fuzzy
Anleitung von NetzwerkDude vor 1 TagLinux Tools

Moin, aus der Kategorie "Häufig übersehene Parameter": Meistens benutzt kaum jemand den fuzzy Parameter von rsync, und er taucht ...

Sicherheit

Citrix ADC, Gateway u. SD-Wan: Schwachstellen patchen

Information von kgborn vor 3 TagenSicherheit

Keine Ahnung, wie viele Admins von Citrix-Applicances hier unterwegs sind und ob die Versorgung mit Advisories klappt. Aber im ...

Off Topic

Im Tel Raum von Hamburg (040) sind mal wieder viele Indische Microsoft Anrufer unterwegs

Information von TomTomBon vor 4 TagenOff Topic9 Kommentare

Moin Moin, Die sind so schlecht das sogar meine Frau sofort die erkannt hat was die sind. Und Ihr ...

Router & Routing

FritzOS 7.20 kommt auch auf Deine Fritze (wahrscheinlich)

Information von Visucius vor 4 TagenRouter & Routing19 Kommentare

Nachdem ich hier die Hassliebe zu den kleinen Kistchen kenne, sollten wir das nicht zu breit ausdehnen. Ein paar ...

Heiß diskutierte Inhalte
SAN, NAS, DAS
NAS mit interner RDX-Aufnahme
Frage von keine-ahnungSAN, NAS, DAS16 Kommentare

Moin at all, offenbar habe ich nur das "for free google" freigeschalten ich bin auf der Suche nach einem ...

Microsoft
Freitagsfrage einfach aus Interesse: Gibt es Windows Systeme Server sowie Clients die ein komplett sauberes Eventlog haben?
Frage von bloodstixMicrosoft14 Kommentare

Hallo zusammen, mich würde mal interessieren wie da eure Erfahrungen sind. Selbst bei frisch installierten Clients/Servern gibt es immer ...

Outlook & Mail
Outlook 2016 - Termine als RTF senden
Frage von emeriksOutlook & Mail14 Kommentare

Hi, in Anlehnung an meine vorherige Frage: Outlook stellt Termin-Mail-Body mit HTML-Code für Leerzeichen dar Wie/wo kann man Outlook ...

Outlook & Mail
Outlook stellt Termin-Mail-Body mit HTML-Code für Leerzeichen dar
Frage von emeriksOutlook & Mail11 Kommentare

Hi, habt Ihr sowas s.u. schon mal gesehen? Meldung kommt von meinen Kollegen. Ich habe es selbst nicht gesehen. ...