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 Zeile bis Anführungszeichen übernehmen

Mitglied: mycroftone

mycroftone (Level 1) - Jetzt verbinden

11.03.2010, aktualisiert 16:34 Uhr, 5737 Aufrufe, 5 Kommentare

Ich möchte eine Zeile in eine Variable übernehmen bis zum ersten "

Testinstall"

bach

Testinstall

for /f "tokens=1 delim="" %%j in (_wis-pak.tmp) do (newest-wis-paket=%%j)

Aber irgendwie will er nicht und bricht mit einem Syntakerror ab.

und nach delim=" hat irgendwie noch niemand gesucht in Googel habe ich es auf jedenfall nicht gefunden.

Das Zeichen " mit ^ Maskieren brachte das selbe Ergebnis.

Kann hier jemand liecht in den Schatten bringen
Mitglied: 76109
11.03.2010 um 15:44 Uhr
Hallo mycroftone!

Eventuell hilft eine Set-Anweisung:
for /f "tokens=1 delim="" %%j in (_wis-pak.tmp) do (SET newest-wis-paket=%%j)

Gruß Dieter
Bitte warten ..
Mitglied: mycroftone
11.03.2010 um 16:09 Uhr
Ja das war natürlich ein Fehler wenn man sich nicht Konzentrieren kann kommt sowas vor.

01.
for /f "tokens=1" delim=^" " %%j in (_wis-pak.tmp) do ( set _newest-wis-paket=%%j)
bracht die Fehlermeldung
"delim" ist syntaktisch an dieser Stelle nicht verarbeitbar.

Das hier

01.
for /f "tokens=1" delim=" " %%j in (_wis-pak.tmp) do ( set _newest-wis-paket=%%j)
brachte die selbe Fehlermeldung
"delim" ist syntaktisch an dieser Stelle nicht verarbeitbar.

Also mit dem Text " habe ich so meine schwierigkeiten weil der Ja teil des Befehles ist.

01.
 findstr ""PROD_WIS" "wis-8.tmp" 
wo ich also den Text "PROD_WIS suche bleibt in der Batchdatei stehen und nachfolgende Befehle werden nicht abgearbeitet.
Nur ein Str C hilft hier


01.
 findstr "^"PROD_WIS" "wis-8.tmp" 

Also entweder ist das nicht das richtig demaskirzeichen oder hier läuft grundsätzlich was falsch.
Bitte warten ..
Mitglied: Biber
11.03.2010 um 16:33 Uhr
Moin mycroftone,

zu dem Thema "Delimiter soll Anführungszeichen sein"....

Soweit ich es probiert habe, ist ein "Delims=Anfüzeichen" in der FOR/F-Anweisung nicht vorgesehen.

Du kannst es aber mit ein, zwei Skript-Zeilen mehr umgehen.
Beispiel-Spielbatch:
01.
::--- Delims-sei-Anführungszeichen-Beispiel
02.
::Inhalte der Testdatei seinen folgende drei Zeilen
03.
:: test1 ohne Anführungszeichen
04.
:: test2 zwei dito
05.
:: test3 drei "Der dritte" mit Anführungszeichen
06.
@echo off & SetLocal
07.
Type e:\schnipsel\mycroft.txt
08.
FOR /F "delims=" %%i in (e:\schnipsel\mycroft.txt) do set "line=%%i" & call :ShowIt
09.
goto :eof
10.

11.

12.
~~ Raum für Notizen
13.

14.
:ShowIt
15.
Set "line=%line:"=§%"
16.
Set "line=%line: §=§%"
17.
echo LineNachErsetzen [%line%]
18.
FOR /F "delims=§" %%a in ("%line%") do echo Ausgabe [%%a]
19.
goto :eof
Ausgabe des Schnipsels:
>e:\schnipsel\mycroft.cmd
test1 ohne Anführungszeichen
test2 zwei dito
test3 drei "Der dritte" mit Anführungszeichen

LineNachErsetzen [test1 ohne Anführungszeichen]
Ausgabe [test1 ohne Anführungszeichen]
LineNachErsetzen [test2 zwei dito]
Ausgabe [test2 zwei dito]
LineNachErsetzen [test3 drei§Der dritte§ mit Anführungszeichen]
Ausgabe [test3 drei]
Die Zeile 16 bewirkt, dass das Leerzeichen vor dem Anführungszeichen auch entsorgt wird.
Wenn du wirklich die Zeile "bis zum Anführungszeichen" brauchst, dann Zeile 16 ausREMen.

Zu deinem zwischenzeitlich geposteten Kommentar: der FindStr-Befehl kennt auch einen Schalter /C für "buchstabengetreuen Vergleich".
Damit kannst du evtl deinen String-in-Anführungszeichen suchen.

Grüße
Biber
Bitte warten ..
Mitglied: bastla
11.03.2010 um 16:33 Uhr
Hallo mycroftone!

Soferne ich das richtig verstehe und es darum geht, den entsprechenden Zeilenanfang aus der ersten Zeile der Datei zu holen, könntest Du es damit versuchen:
01.
@echo off & setlocal
02.
set S=%temp%\Splt.vbs
03.
>%S% echo WScript.Echo Split(CreateObject("Scripting.FileSystemObject").OpenTextFile(WScript.Arguments(0)).ReadAll, Chr(34))(0)
04.
for /f "delims=" %%i in ('cscript //nologo %S% "D:\_wis-pak.tmp"') do set "newest-wis-paket=%%i"
05.
del %S%
06.
echo %newest-wis-paket%
Grüße
bastla
Bitte warten ..
Mitglied: mycroftone
11.03.2010 um 16:58 Uhr
Hallo Bastel.

Nein nicht am Anfang ich habe log dateien dort steht z.b.

13.12.2007 "C:\Programme\uninstal\PROD_EPC_1" "PROD_EPC_1" " "C:\uninstal\PROD_EPC_1"
oder
13.12.2007 PM "C:\Programme\uninstal\PROD_EPC_1" "PROD_EPC_1" "
oder
13.12.2007 PM "C:\Program Files\uninstal\PROD_EPC_1" "PROD_EPC_1" "

Und ich brache das PROD_EPC_1
Jetzt habe ich die einzelnen Teile die durch Leerzeichen getrennt sind herausgefilter.


Leider kann ich nicht mit Sicherheit sagen das PROD_EPC_1 immer an 3. Stelle steht. Sonder auch mal an 4. oder 5

Deswegen habe ich alle 3 Teile 3-5 in Pariabeln gepackt und die in textdateien dann.

Um dann zu Prüfen welche die richtige ist.

das findstr "^"PROD_WIS" "wis-4.tmp" zu Prüfen ob ich das "PROD_EPC_1" gefunden habe und nicht das C:\Programme\uninstal\PROD_EPC_1"


Und mit dem for /f "tokens=1 delim="" %%j in (_wis-pak.tmp) do (SET newest-wis-paket=%%j)

wollte ich sicherstellen das ich das PROD_EPC_1 ohne irgendwelche nicht definierbare anzahl von """ hinten dran haben deswegen teile ich das ganze ab am ersten " so meine Idee .

Aber sowohl for /f mit delims als auch findstr haben mit dem " als Text Problem


Das nachmal als Zusatzinfo
Bitte warten ..
Neue Wissensbeiträge
Rechtliche Fragen
Unitymedia siegt vor dem BGH
Information von transocean vor 1 TagRechtliche Fragen5 Kommentare

Moin, lt. einem aktuellen Urteil darf UM Mietrouter seiner Kunden weiterhin in Hotspots verwandeln. Nachlesen kann man das hier. ...

Router & Routing
Der "768k-Day" kommt
Information von LordGurke vor 2 TagenRouter & Routing2 Kommentare

Für Leute, die Router mit BGP-Fulltable betreiben vielleicht ein interessanter Hinweis: Die IPv4-Fulltable erreicht voraussichtlich innerhalb der nächsten 2-3 ...

Debian

Partition angeblich voll, dabei aber noch nicht mal zur Hälfte belegt

Anleitung von diemilz vor 2 TagenDebian8 Kommentare

Hallo zusammen, ich habe ein kleines Problem: Ich habe auf einem physischen Debian Linux Server als ZoneMinder-Server (HP ProLiant ...

Windows 7
Updategängelung auf Windows 10, die zweite
Information von Penny.Cilin vor 7 TagenWindows 74 Kommentare

Hallo, da Windows 7 im kommenden Jahr nicht mehr supportet wird, werden Nutzer von Window 7 home premium wieder ...

Heiß diskutierte Inhalte
HTML
Bild hochladen mit html auf die Webseite
gelöst Frage von WorldoftheitHTML63 Kommentare

Will eine Seite entwickeln im Internet aber Das Bild wird nicht angezeigt woran kann das liegen? Wäre für jede ...

Vmware
Terminalserver VM - Videos ruckeln
Frage von easyriderVmware29 Kommentare

Hallo zusammen, wir haben einen (free) ESXi 5.5 auf einem HP DL 380 G8 im Einsatz. Darauf läuft, unter ...

Windows Server
Ordner auf Filserver gelöscht
gelöst Frage von OrkansonWindows Server24 Kommentare

Hallo, haben einen Win2016 Server als Fileserver. Kann ich irgendwie nachvollziehen anhand der Logfiles wer Ordner löscht? Gruß Marcel

Batch & Shell
Schleife mit Exist
gelöst Frage von casi4711Batch & Shell18 Kommentare

Hallo an alles fleißigen Scripter, ein Script soll eine Range von IPs abfragen und checken, ob ein bestimmtes Verzeichnis ...