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

Zeile bis Anführungszeichen übernehmen

Frage Entwicklung Batch & Shell

Mitglied: mycroftone

mycroftone (Level 1) - Jetzt verbinden

11.03.2010, aktualisiert 16:34 Uhr, 5665 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 ..
Ähnliche Inhalte
Batch & Shell
Maskieren von Anführungszeichen in CMD (4)

Frage von Marc92 zum Thema Batch & Shell ...

Batch & Shell
gelöst Powershell scriptblock - Anführungszeichen (3)

Frage von Markus2016 zum Thema Batch & Shell ...

Microsoft Office
gelöst Outlook Kategorien in anderes Postfach übernehmen (13)

Frage von Hirschix3 zum Thema Microsoft Office ...

Windows Server
gelöst Handvoll Computer GPO nicht übernehmen (3)

Frage von 1410640014 zum Thema Windows Server ...

Neue Wissensbeiträge
Windows Server

Umstellung SHA 1 auf SHA 2 - Migration der CA von CSP auf KSP

Tipp von Badger zum Thema Windows Server ...

Windows 10

Quato DTP94 unter Windows 10 x64 installieren und verwenden

Anleitung von anteNope zum Thema Windows 10 ...

Windows 10

Win10 1703 und Nutzerkennwörter bei Ersteinrichtung - erstaunliche Erkenntnis

(15)

Erfahrungsbericht von DerWoWusste zum Thema Windows 10 ...

Heiß diskutierte Inhalte
Festplatten, SSD, Raid
gelöst Raid-Controller (Areca) Datenverlust trotz R5 (13)

Frage von sebastian2608 zum Thema Festplatten, SSD, Raid ...

Webentwicklung
Aktuellen Mitarbeiter auf Homepage anzeigen (13)

Frage von alemanne21 zum Thema Webentwicklung ...

Microsoft Office
gelöst Office 365 Pro Domäne einrichten OHNE Webseite (9)

Frage von thklemm zum Thema Microsoft Office ...

Voice over IP
48 Port VOIP Switch mit POE gesucht (8)

Frage von brutzler zum Thema Voice over IP ...