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, 5633 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

MfG
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 ..
Ähnliche Inhalte
Batch & Shell
Spoiler in textdatei automatisch über Powershellscript einfügen (5)

Frage von Dr.Byte zum Thema Batch & Shell ...

Voice over IP
Asterisk - OpenStage40 automatisch provisionieren

Frage von DianiBeach zum Thema Voice over IP ...

Windows Server
Geplante Tasks starten nicht automatisch

Frage von TiTux zum Thema Windows Server ...

Neue Wissensbeiträge
Batch & Shell

Batch zum Zurücksetzen eines lokalen Profils

Tipp von Mr.Error zum Thema Batch & Shell ...

RedHat, CentOS, Fedora

Fedora, RedHat, Centos: DNS-Search Domain setzen

(13)

Tipp von Frank zum Thema RedHat, CentOS, Fedora ...

Heiß diskutierte Inhalte
LAN, WAN, Wireless
VPN Tunnel aufbauen (15)

Frage von Hajo2006 zum Thema LAN, WAN, Wireless ...

Microsoft Office
Saubere HTML aus Word-Dokument (13)

Frage von peterpa zum Thema Microsoft Office ...

E-Mail
gelöst Probleme beim E-Mail Empfang (12)

Frage von TommyB83 zum Thema E-Mail ...

Microsoft
gelöst Subnetting: In welchem Subnetz befindet sich die IP? (12)

Frage von winler zum Thema Microsoft ...