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

Raute in Textdatei automatisch entfernen

Frage Entwicklung Batch & Shell

Mitglied: tjanosch

tjanosch (Level 1) - Jetzt verbinden

08.11.2007, aktualisiert 18.10.2012, 5608 Aufrufe, 13 Kommentare

Hallo

Ich habe ein kleines Problem.
Ich habe eine Textdatei in der Rauten stehen.
Diese möchte ich per CMD-Datei (Batch) autom. entfernen lassen, ist das möglich?
Vielen Dank für eure Antworten

Mit freundlichen Grüßen
Thomas
Mitglied: 8644
08.11.2007 um 12:41 Uhr
Hi,

wenn es nur eine Datei ist, brauchst du keine batch! Datei im Editor öffnen # durch [LEER] ersetzen, auf "Alle Ersetzen" klicken, fertig.

Psycho
Bitte warten ..
Mitglied: tjanosch
08.11.2007 um 12:45 Uhr
Das ist klar.
Es wäre aber nicht schlecht da dies eine Lieferscheindatei ist die in eine Faktura importiert wird,
und der User das ja mal vergessen kann.
D.h. es sollte automatisch funktionieren.
Bitte warten ..
Mitglied: ianuti
08.11.2007 um 12:59 Uhr
Wo kommt die Text-Datei her ?
Bzw. Wie wird diese Datei erzeugt ?
Vielleicht kann man bereits eine Stufe vorher das Problem abfangen ?
Bitte warten ..
Mitglied: Biber
08.11.2007, aktualisiert 18.10.2012
Moin tjanosch,

der Grund für die vielen Rückfragen und die scheinbar zögerliche handwerkliche Unterstützung:

1) Batch-Befehle arbeiten ZEILENweise ganz brauchbar - bei einem ZEICHEN-Ersetzen ist eher VBSkript o.ä. angesagt.
Ein aktuelles und auch bei Dir passendes bastla-Beispiel hier:Formatierung eines Textdokumentes wie ein Roboter.

2) Wenn denn nun die eine Datei eine gewollte Exportschnittstelle (Lieferscheindatei) und das andere Programm die Importseite (Faktura) sein soll und Du in dieses -ich zitiere- "automatisch funktionierende" System eine halbmanuelle Manipulation reindrückst, dann bist ab sofort Du die Fehlerquelle Nr.1 bzw. der Schuldige, wenn mal was nicht funktioniert.

Deshalb hat ianuti vollkommen recht - entweder muss sich die Export-Seite mal bewegen und keine "#" mehr rausschieben oder die Import-Seite muss diese "#" schlucken lernen.

Niemals darfst Du den "gleichen" Dateninhalt in zwei Systemen direkt in einer Im/Exportdatei manipulieren.

Grüße
Biber
Bitte warten ..
Mitglied: tjanosch
08.11.2007 um 22:03 Uhr
Hallo

Ich weiss das man das normal nicht machen soll, aber aus verschiedenen Gründen will ich das.
Weiss jemand ob und wie das in einer cmd datei geht?
Vielen Dank.

Thomas
Bitte warten ..
Mitglied: Biber
09.11.2007 um 09:30 Uhr
Moin tjanosch,

hast Du den Beitrag gelesen, auf den ich oben verwiesen habe?
Und hältst Du dortige Lösung auch für übertragbar auf Dein Problem?
Oder darfst Du kein VBS einsetzen?

Grüße
Biber
Bitte warten ..
Mitglied: ianuti
09.11.2007 um 10:14 Uhr
Also , rein mit Batch geht es nicht , aber mit anderen Scripten, wie Perl oder PHP ö.ä. , kann man es machen.
Ala :


...
c:\binpath\php.exe c:\otherpath\datei.php
..


Dazu brauchst du natürlich den Interpreter (hier im Beispiel PHP)
Und die "datei.php" musst duch auch noch schreiben (oder schreiben lassen).

In PHP bin ich relativ fitt, mit präziseren Angaben kann ich dir das Script schreiben.
Bitte warten ..
Mitglied: bastla
09.11.2007 um 13:32 Uhr
Hallo tjanosch!

Um das Ganze abzukürzen: Der folgenden Batch (inkl VBS) sollte alle Rauten ersatzlos entfernen:
01.
@echo off & setlocal 
02.
set "Ein=D:\MitRauten.txt" 
03.
set "Aus=D:\OhneRauten.txt" 
04.
 
05.
set "Cvt=%temp%\ConvSC.vbs" 
06.
echo Set fso=CreateObject("Scripting.FileSystemObject"):fso.OpenTextFile("%Aus%",2,True).Write Replace(fso.OpenTextFile("%Ein%",1).ReadAll,"#","")>"%Cvt%" 
07.
cscript //nologo "%Cvt%" 
08.
del "%Cvt%"
Solltest Du schon kein VBS einsetzen wollen/dürfen, könnte ich mir einen Hinweis auf "sed" vermutlich auch sparen ...

Grüße
bastla
Bitte warten ..
Mitglied: tjanosch
09.11.2007 um 14:09 Uhr
Vielen Dank

so funtkionert es.
Jetzt habe ich aber gemerkt das ich einen Fehler gemacht habe, ich will nicht alle Rauten ersetzten sondern alle Anführungszeichen.
Geht das überhaupt? Weil die Anführungszeichen ja immer am Anfang und am Ende stehen.
Vielen Dank.

Gruss
Thomas
Bitte warten ..
Mitglied: Biber
09.11.2007 um 14:31 Uhr
die Anführungszeichen ja immer am Anfang und am Ende stehen.
Am Anfang und Ende der Lieferscheinnummer?
Am Anfang und Ende einer Zeile?
Am Anfang eines Tages?
Am Ende der Welt?

Grüße
Biber
Bitte warten ..
Mitglied: tjanosch
09.11.2007 um 14:48 Uhr
Sorry etwas schlecht ausgedrückt.

echo Set fso=CreateObject("Scripting.FileSystemObject"):fso.OpenTextFile("%Aus%",2,True).Write Replace(fso.OpenTextFile("%Ein%",1).ReadAll,"#","")>"%Cvt%"

In diesem Bereich "#" wird ja die Raute ausgetauscht.
Ich muss aber ein " austauschen und nicht eine Raute.
Bitte warten ..
Mitglied: bastla
09.11.2007 um 14:53 Uhr
Hallo tjanosch!

Dann eben
01.
echo Set fso=CreateObject("Scripting.FileSystemObject"):fso.OpenTextFile("%Aus%",2,True).Write Replace(fso.OpenTextFile("%Ein%",1).ReadAll,Chr(34),"")>"%Cvt%"
Grüße
bastla
Bitte warten ..
Mitglied: tjanosch
12.11.2007 um 21:28 Uhr
Hallo bastla

Vielen Vielen Dank.
So passt es perfekt.

Gruss
Thomas
Bitte warten ..
Neuester Wissensbeitrag
Humor (lol)

Linkliste für Adventskalender

(3)

Information von nikoatit zum Thema Humor (lol) ...

Ähnliche Inhalte
Batch & Shell
gelöst Appx aus Image auslesen und entfernen (9)

Frage von Markus2016 zum Thema Batch & Shell ...

CPU, RAM, Mainboards
CPU Lüfter von CPU entfernen (6)

Frage von uridium69 zum Thema CPU, RAM, Mainboards ...

Microsoft Office
Registerkarte in Excel automatisch färben (10)

Frage von ralfkausk zum Thema Microsoft Office ...

Heiß diskutierte Inhalte
Exchange Server
gelöst Exchange 2010 Berechtigungen wiederherstellen (20)

Frage von semperf1delis zum Thema Exchange Server ...

Windows Server
DHCP Server switchen (20)

Frage von M.Marz zum Thema Windows Server ...

Hardware
gelöst Negative Erfahrungen LAN-Karten (19)

Frage von MegaGiga zum Thema Hardware ...

Exchange Server
DNS Einstellung - zwei feste IPs für Mailserver (15)

Frage von ivan0s zum Thema Exchange Server ...