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

Zeichen am Ende einer Zeile hinzufügen

Frage Microsoft Microsoft Office

Mitglied: CJackson

CJackson (Level 1) - Jetzt verbinden

22.08.2007, aktualisiert 30.08.2007, 5665 Aufrufe, 11 Kommentare

und "," durch "." ersetzen.

Hallo,
ich hab ein kleines Problem. Ich hab eine .txt Datei bei der ich am Ende jeder Zeile ";;" (2 Semikolon) hinzufügen soll. Außerdem sollen die "," mit "." ersetzt werden zur Not über Suchen und Ersetzen.

Kann mir jemand helfen und mir sagen wie ich eine kleine Batch Datei schreib oder ein Makro mach?

Mit freundlichen Grüßen
Jackson

Ps.: Dank euch schon einmal im Voraus.

So sieht eine Zeile im Moment aus "9;10041037;0,36" und so sollte sie aussehen "9;10041037;0.36;;"
Mitglied: bastla
22.08.2007 um 14:20 Uhr
Hallo CJackson und willkommen im Forum!

Versuch es einmal so:
01.
@echo off & setlocal 
02.
set "Alt=D:\Alt.txt" 
03.
set "Neu=D:\Neu.txt" 
04.
if exist "%Neu%" del "%Neu%" 
05.
for /f "usebackq delims=" %%i in ("%Alt%") do set "Zeile=%%i" & call :ProcessLine 
06.
goto :eof 
07.
:ProcessLine 
08.
echo %Zeile:,=.%;;>>"%Neu%" 
09.
goto :eof
Grüße
bastla

P.S.: Dein Beitrag würde eher in "Entwicklung / Programmiersprachen / Batch & Shell" passen ...
P.P.S.: Allerdings solltest Du dort nicht Dank euch schon einmal im Vorraus. schreiben, und schon gar nicht mit "rr" ...
Bitte warten ..
Mitglied: CJackson
22.08.2007 um 14:40 Uhr
Thx funktioniert! gibt es eine Möglichkeit ? das mich die .bat nach dem Speicherort der Datei frägt, sodass ich die Batch nicht immer abändern muss?

mfg jackson
Bitte warten ..
Mitglied: bastla
22.08.2007 um 14:53 Uhr
Hallo CJackson!

... Möglichkeit ? das mich die .bat nach dem Speicherort der Datei frägt ...
Mehrere; üblicherweise würde man/frau die beiden Dateipfade beim Aufruf mitliefern, also etwa so starten:
01.
ConvertAndAdd2Semicolons.bat D:\Alt.txt D:\Neu.txt
Der Code sähe so aus:
01.
@echo off & setlocal 
02.
set "Alt=%~1" 
03.
set "Neu=%~2" 
04.
if exist "%Neu%" del "%Neu%" 
05.
for /f "usebackq delims=" %%i in ("%Alt%") do set "Zeile=%%i" & call :ProcessLine 
06.
goto :eof 
07.
:ProcessLine 
08.
echo %Zeile:,=.%;;>>"%Neu%" 
09.
goto :eof
Wenn Du wirklich gefragt werden wolltest, müsstest Du die Zeilen 2 und 3 auf etwas in dieser Art ändern:
01.
set /p "Alt=Originaldatei?_" 
02.
set /p "Neu=Konvertierte Datei?_"
Vielleicht noch eine Variante 3 dazu:
01.
set "Neu=%~1" 
02.
set "Alt=%Neu%.bak" 
03.
move "%Neu%" "%Alt%"
Hier würde automatisch die Originaldatei mit dem Zusatz ".bak" versehen als Sicherungskopie gespeichert bleiben - Vorteil: Da nur ein Parameter übergeben werden muss, könnte auch Drag&Drop verwendet werden.

Grüße
bastla
Bitte warten ..
Mitglied: CJackson
22.08.2007 um 15:19 Uhr
Sry hab mich glaub ich ein wenig falsch geäußert. Möchte eigtl. ein richtiges grafisches Window wie beim öffnen oder abspeichern einer Datei. Bei dem ich auch den Arbeitsplatz usw.. seh und auswählen kann. Ist das Möglich? Wenn ja wie?

Danke mfg jackson
Bitte warten ..
Mitglied: bastla
22.08.2007 um 15:26 Uhr
Hallo CJackson!

Ist das Möglich? Wenn ja wie?
Ja; mit VBScript oder VBA ...

... oder, in Ansätzen, mit der oben beschriebenen Variante 3 (Auswahl aus dem Explorer).

Grüße
bastla
Bitte warten ..
Mitglied: CJackson
22.08.2007 um 15:28 Uhr
ok thx. dann brauch ich es nicht unbedingt.

Ist es für dich möglich mir diese Zeile als 1.Zeile einzufügen in die konv. Datei?

"Position;Artikelnummer;Menge;Freier Text;Freier Text"

hinter diese soll aber kein ";;"

Mfg Jackson
Bitte warten ..
Mitglied: bastla
22.08.2007 um 15:34 Uhr
01.
@echo off & setlocal 
02.
set "Alt=%~1" 
03.
set "Neu=%~2" 
04.
echo Position;Artikelnummer;Menge;Freier Text;Freier Text>"%Neu%" 
05.
for /f "usebackq delims=" %%i in ("%Alt%") do set "Zeile=%%i" & call :ProcessLine 
06.
goto :eof 
07.
:ProcessLine 
08.
echo %Zeile:,=.%;;>>"%Neu%" 
09.
goto :eof
Bitte warten ..
Mitglied: CJackson
22.08.2007 um 19:37 Uhr
Hi kannst du VBA auch? Wenn ja könntest du nicht ein bissl für mich vba programmieren?

lg Jackson
Bitte warten ..
Mitglied: bastla
22.08.2007 um 19:56 Uhr
Hallo CJackson!

Falls ich die Aufgabenstellung interessant finde und genug Zeit und Lust dazu habe, werde ich Dir gerne auch bei VBA-Problemen Hilfestellung geben - für Dich zu programmieren wäre allerdings Aufgabe eines Vertragspartners ...

Grüße
bastla
Bitte warten ..
Mitglied: CJackson
22.08.2007 um 22:17 Uhr
thx also ich versuchs zuerst mal selbst und meld mich wieder sollte ich hilfe brauchen.
Bitte warten ..
Mitglied: CJackson
30.08.2007 um 07:53 Uhr
Nochmals Thx @ bastla. Es funktioniert.
LG CJACKSON
Bitte warten ..
Neuester Wissensbeitrag
Ähnliche Inhalte
Netzwerke
Überbau: Bundesländer hoffen auf Ende der Telekom-Störmanöver

Link von BassFishFox zum Thema Netzwerke ...

Windows Update
Windows Update - WSUS und kein Ende (9)

Frage von the-buccaneer zum Thema Windows Update ...

Exchange Server
gelöst AD User lässt sich nicht im Public Calendar hinzufügen (6)

Frage von Brigomaglos zum Thema Exchange Server ...

Heiß diskutierte Inhalte
Hardware
Laptop ins Salzwasser gefallen (18)

Frage von Marcel94 zum Thema Hardware ...

Switche und Hubs
LAG zwischen Cisco SG300 und Dlink DGS1100 herstellen - wie? (13)

Frage von White-Rabbit2 zum Thema Switche und Hubs ...

Hardware
Lenovo Yoga 500 über angeschlossene USB Tastatur booten (13)

Frage von thomasreischer zum Thema Hardware ...

CPU, RAM, Mainboards
Hardware Fragen (12)

Frage von xaver-2 zum Thema CPU, RAM, Mainboards ...