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

Space im delimiter entfernen

Frage Entwicklung Batch & Shell

Mitglied: pbelcl

pbelcl (Level 1) - Jetzt verbinden

30.03.2008, aktualisiert 18:44 Uhr, 4098 Aufrufe, 8 Kommentare

space im Delimiter verhindern

Hallo Leute,

Habe ein kleines Problem beim Auslesen einer Liste via Batch.

folgendes Textfile (Demoauszug)
01.
2 - Pocket PC.cabs\Heute Plugins\SPB Mobile Shell\V 2.0\SpbMobileShell2_de_arm.cab,True,5_ 
02.
2 - Pocket PC.cabs\Tools\Total Commander\TotalCommander25_PublicBeta3_PB.cab,False,8_ 
03.
2 - Pocket PC.cabs\Video und Audio\Voice Minder\V1.6 Build 1405\VoiceMinder_WM5.cab,True,7_
soll in einen Copybefehl umgewandelt werden. Dazu habe ich eine kleine Demo Batch Datei gemacht welche die eingelesenen Parameter in Variablen schreibt:

01.
For /F "eol=;delims=, tokens=1,2,3" %%i in (S_kaiser.txt) do call x_runcopy %%i %%j %%k 
Ich würde erwarten dass in der Datei x_runcopy.bat dann folgendes ankommt:

01.
%1 = 2 - Pocket PC.cabs\Heute Plugins\SPB Mobile Shell\V 2.0\SpbMobileShell2_de_arm.cab 
02.
%2 = true 
03.
%3 = 5_
es kommt aber leider das an:
01.
%1= 2 
02.
%2= - 
03.
%3= Pocket
u.s.w

Das bedeutet dass der delimiter auch auf SPACE als Trenner reagiert, was ich aber nicht will. Es soll einzig das "," als Delimiter gültig sein!

Wenn ich allerdings den call Befehl in ein echo umwandle dann klappt das

z.B.
01.
For /F "eol=;delims=, tokens=1,2,3" %%i in (S_kaiser.txt) do echo %%i__%%j__%%k
gibt:

01.
2 - Pocket PC.cabs\Heute Plugins\SPB Mobile Shell\V 2.0\SpbMobileShell2_de_arm.c 
02.
ab__True__5_ 
03.
2 - Pocket PC.cabs\Tools\Total Commander\TotalCommander25_PublicBeta3_PB.cab__Fa 
04.
lse__8_ 
05.
2 - Pocket PC.cabs\Video und Audio\Voice Minder\V1.6 Build 1405\VoiceMinder_WM5. 
06.
cab__True__7_
aus.

Kann mir jemand einen Tip geben was ich da falsch mache?
Mitglied: bastla
30.03.2008 um 10:23 Uhr
Hallo pbelcl!

Das Problem hinsichtlich der Leerzeichen entsteht durch die fehlenden Anführungszeichen, daher:
01.
For /F "eol=; tokens=1,2,3 delims=," %%i in (S_kaiser.txt) do call x_runcopy "%%i" "%%j" "%%k"
Um die Anführungszeichen in "x_runcopy" wieder loszuwerden, kannst Du dort anstelle von "%1" "%~1" verwenden.

Grüße
bastla
Bitte warten ..
Mitglied: pbelcl
30.03.2008 um 12:16 Uhr
Danke bastla für Deinen Tip!

Das mit dem "%~1" hatte ich wieder vergessen

Nun habe ich es geschafft daß die Strings richtig zusammengebaut werden.
Nur wird beim kopieren dieses automatisch zusammengebauten Befehls:
01.
if Exist "p:\CD's\2 - Pocket PC.cabs\Heute Plugins\SPB Mobile Shell\V 2.0\SpbMobileShell2_de_arm.cab" xcopy "p:\CD's 
02.
\2 - Pocket PC.cabs\Heute Plugins\SPB Mobile Shell\V 2.0\SpbMobileShell2_de_arm. 
03.
cab" "p:\CD's\2 - Pocket PC.cabs\0 - Install kaiser\5_SpbMobileShell2_de_arm.cab 
04.
" /f /v /y
noch gefragt:
01.
Ist das Ziel P:\CD's\2 - Pocket PC.cabs\0 - Install kaiser\5_SpbMobileShell2_de_ 
02.
arm.cab ein Dateiname 
03.
oder ein Verzeichnisname 
04.
(D = Datei, V = Verzeichnis)?
Normalerweise umgehe ich das indem ich dem Zieldateinamen die Endung ".cab" gegen ".*" ersetze. Leider geht das im zusammengebauten String nicht so einfach!

Gibt es eine andere Lösung?

Unter den XCOPY Parametern habe ich leider nichts gefunden ....
Bitte warten ..
Mitglied: miniversum
30.03.2008 um 12:42 Uhr
Häng mal noch den Parameter /I dran.
miniversum
Bitte warten ..
Mitglied: pbelcl
30.03.2008 um 15:46 Uhr
Häng mal noch den Parameter /I dran.

Danke Miniversum, aber diese Parameter bewirkt lt. Hilfe dass angenommen wird es sei ein Verzeichnis.
Ich such nach dem umgekehrten Befehl, ich wil festlegen dass es eine DATEI ist...
Bitte warten ..
Mitglied: bastla
30.03.2008 um 17:08 Uhr
Hallo pbelcl!

Ich such nach dem umgekehrten Befehl, ich wil festlegen dass es eine DATEI ist...
Den habe ich auch schon vergeblich gesucht ...

Ein Lösungsweg wäre, zunächst den benötigten Pfad zu erzeugen und danach ein gewöhnliches "copy" (ohne "x") zu verwenden, also etwa:
01.
if Exist "p:\CD's\2 - Pocket PC.cabs\Heute Plugins\SPB Mobile Shell\V 2.0\SpbMobileShell2_de_arm.cab" ( 
02.
	if not exist "p:\CD's\2 - Pocket PC.cabs\0 - Install kaiser\" md "p:\CD's\2 - Pocket PC.cabs\0 - Install kaiser\" 
03.
	copy "p:\CD's\2 - Pocket PC.cabs\Heute Plugins\SPB Mobile Shell\V 2.0\SpbMobileShell2_de_arm.cab" "p:\CD's\2 - Pocket PC.cabs\0 - Install kaiser\5_SpbMobileShell2_de_arm.cab" 
04.
)
Eigentlich sollte es aber auch genügen (wenn Du den Namen der Datei nicht ändern wolltest), als Ziel des "xcopy" nur den Ordner anzugeben und diesen mit "\" abzuschließen, also:
01.
if Exist "p:\CD's\2 - Pocket PC.cabs\Heute Plugins\SPB Mobile Shell\V 2.0\SpbMobileShell2_de_arm.cab" xcopy "p:\CD's\2 - Pocket PC.cabs\Heute Plugins\SPB Mobile Shell\V 2.0\SpbMobileShell2_de_arm.cab" "p:\CD's\2 - Pocket PC.cabs\0 - Install kaiser\"
Die Änderung des Dateinamens wäre dann über ein nachfolgendes
01.
ren "p:\CD's\2 - Pocket PC.cabs\0 - Install kaiser\SpbMobileShell2_de_arm.cab" "5_SpbMobileShell2_de_arm.cab"
auch noch möglich.

Grüße
bastla
Bitte warten ..
Mitglied: miniversum
30.03.2008 um 17:17 Uhr
Ich meine eigentlich es funktioniert trotzdem. Aber schonmal mit /-I versucht?
Bitte warten ..
Mitglied: pbelcl
30.03.2008 um 18:40 Uhr
Ich meine eigentlich es funktioniert
trotzdem. Aber schonmal mit /-I versucht?
Danke für den Tip, den habe ich schon probiert!
Da kommt eine Fehlermeldung mit falsche Option oder so ähnlich
Bitte warten ..
Mitglied: pbelcl
30.03.2008 um 18:44 Uhr
Ein Lösungsweg wäre, zunächst
den benötigten Pfad zu erzeugen und
danach ein gewöhnliches "copy"
(ohne "x") zu verwenden, ....

Hey bastla,

Danke für den Tip mit "Copy" das war die Lösung!
Du bist super !!

Musste nicht einmal die Parameter verändern, einfach "xcopy" gegen "copy" tauschen brachte schon die Lösung.
Den Pfad erzeuge ich so wieso schon vorher, daher alles bestens!
Bitte warten ..
Ähnliche Inhalte
Hyper-V
Storage Spaces Direct : 0 Performance
Frage von StfnCstrHyper-V8 Kommentare

Hallo Zusammen, Ich habe mir ein TestCluster aufgesetzt um S2D zu testen. Erstellt habe ich zwei Volumes (Dual Mirror) ...

Microsoft
SQL TEMP DB Disk Space
gelöst Frage von TECHGENEMicrosoft4 Kommentare

Guten Tag, auf unserem SQL Server 2008 R2 hatten wir neulich das Problem, dass die tempdb (auf eigener Disk) ...

Windows Server
Storage Space von Zwei Weg zu Parity ändern
gelöst Frage von PharaunWindows Server3 Kommentare

Hallo, wie der Titel schon sagt würde ich gerne Wissen ob man einen Storage Space von "Zwei-Wege-Spiegelung" auf "Parity" ...

Internet
Kann man den vergebenen Address Space eines ISP bei der Ripe einsehen?
Frage von mariokrupikInternet1 Kommentar

Habe mir ein Voip Konto bei einem lokalen Provider zugelegt, der den Zugang jedoch auf seinen eigenen Addressbereich sperrt. ...

Neue Wissensbeiträge
Internet

USA: Die FCC schaff die Netzneutralität ab

Information von Frank vor 3 StundenInternet2 Kommentare

Jetzt beschädigt US-Präsident Donald Trump auch noch das Internet. Der neu eingesetzte FCC-Chef Ajit Pai ist bekannter Gegner einer ...

DSL, VDSL

ALL-BM200VDSL2V - Neues VDSL-Modem mit Vectoring von Allnet

Information von Lochkartenstanzer vor 6 StundenDSL, VDSL1 Kommentar

Moin, Falls jemand eine Alternative zu dem draytek sucht: Gruß lks

Windows 10

Microsoft bestätigt DMA-Policy-Problem in Win10 v1709

Information von DerWoWusste vor 6 StundenWindows 10

Wer sein Gerät mit der DMA-Policy absichert, bekommt evtl. Hardwareprobleme in v1709 von Win10. Warum? Weil v1709 endlich "richtig" ...

Verschlüsselung & Zertifikate

Die Hölle friert ein weiteres Stück zu: Microsoft integriert OpenSSH in Windows

Information von ticuta1 vor 10 StundenVerschlüsselung & Zertifikate

Interessant Die Hölle friert ein weiteres Stück zu: Microsoft integriert OpenSSH in Windows SSH-Kommando in CMD.exe und PowerShell

Heiß diskutierte Inhalte
Netzwerkmanagement
Mehrere Netzwerkadapter in einem PC zu einem Switch zusammenfügen
Frage von prodriveNetzwerkmanagement21 Kommentare

Hallo zusammen Vorweg, ich konnte schon einige IT-Probleme mit Hilfe dieses Forums lösen. Wirklich klasse hier! Doch für das ...

Windows Server
RODC kann nicht aus Domäne entfernt werden
Frage von NilsvLehnWindows Server19 Kommentare

HAllo, ich arbeite in einem Universitätsnetzwerk mit 3 Standorten. Die Standorte haben alle ein ESXi Cluster und auf diesen ...

Hardware
Kein Bild mit nur einer bestimmten Grafikkarten - Mainboard Konfiguration
gelöst Frage von bestelittHardware18 Kommentare

Hallo zusammen, ich hatte schon einmal eine ähnliche Frage gestellt. Damals hatte ich genau das gleiche Problem. Allerdings lies ...

Hardware
Links klick bei Maus funktioniert nicht
gelöst Frage von Pablu23Hardware16 Kommentare

Hallo erstmal. Ich habe ein Problem mit meiner relativ alten maus jedoch denke ich nicht das es an der ...