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

Aus einem Textfile ne Eins löschen

Frage Entwicklung Batch & Shell

Mitglied: MarcelGausG

MarcelGausG (Level 1) - Jetzt verbinden

06.07.2007, aktualisiert 12:11 Uhr, 4252 Aufrufe, 3 Kommentare

Hallo ihr großen meister da draussen ...

ich bin leider ein totaler noob in sachen batch files schreiben .... deshalb bräucht ich doch mal die hilfe der community ...

zum szenario ( hört sich dramatischer an ;) )


wir kriegen von einem kunden immer bestelldaten in einem textfile die dann in unsere warenwirtschaft konvertiert wird ...

der anfang der files ist immer gleich .. :

UNB+UNOA:2+5450534000000:14+4260117670008:14+070705:0837+111+EANCOM'UNH+1+ORDERS

so ... nun können wir diese files nicht so bei uns implementieren da dieser Einser 1+EANCOM unsere programm stört ...

das heisst ... wir müssen jedes file öffnen .. die 1 per hand rauslöschen .... und dann ginge es .. sind aber dann doch ein paar bestellungen am tag ;) einfach nervig.... da dacht ich mir das es da doch bestimmt ne "einfache" lösung gibt....

ach ja ... die dateinamen sind nicht immer gleich ... also das wär zb einer IVSP5850.406598 der vordere teil ( IVSP5850 ) bleibt gleich ... der hintere ändert sich mit jeder bestellung ....

bitte um hilfe....

schon mal danke ..

Marcel
Mitglied: bastla
06.07.2007 um 10:36 Uhr
Hallo MarcelGausG!

Das folgende VB-Script ersetzt (nur) in der ersten Zeile der übergebenen Textdatei den Teil "1+EANCOM" durch "EANCOM". Die übergebene Datei wird unter "B-Dateiname" als Sicherungskopie behalten.
01.
'Remove1.vbs 
02.
If WScript.Arguments.Count < 1 Then 
03.
    WScript.Echo "Bitte eine Datei als Argument übergeben!" 
04.
    WScript.Quit(1) 
05.
Else 
06.
strInFile = WScript.Arguments(0) 
07.
End If 
08.
 
09.
Set fso = CreateObject("Scripting.FileSystemObject") 
10.
If Not fso.FileExists(strInFile) Then 
11.
    WScript.Echo "Die Datei " & strInFile & " wurde nicht gefunden!" 
12.
    WScript.Quit(1) 
13.
End If 
14.
 
15.
Set objInFile = fso.GetFile(strInFile) 
16.
strOutFile = objInFile.Path 
17.
If fso.FileExists("B-" & objInFile.Name) Then fso.DeleteFile("B-" & objInFile.Name) 
18.
objInFile.Name = "B-" & objInFile.Name 
19.
 
20.
aFileText = Split(fso.OpenTextFile(objInFile.Path, 1).ReadAll, vbCrLF) 
21.
aFileText(0) = Replace(aFileText(0), "++++1+EANCOM", "+++++EANCOM") 
22.
fso.OpenTextFile(strOutFile, 2, True).Write Join(aFileText, vbCrLF)
Verwendung: Entweder per Drag & Drop die Textdatei auf die Script-Datei (bzw eine Verknüpfung zu dieser) ziehen oder, wenn das Script zB als "C:\Scripts\Remove1.vbs" gespeichert wurde, aus einer Batchdatei/von der Kommandozeile mit:
01.
cscript //nologo "C:\Scripts\Remove1.vbs" "D:\Bestellungen\IVSP5850.406598"
Eine Batchdatei zum Bearbeiten aller Bestelldateien (des Ordners "D:\Bestellungen") könnte so aussehen:
01.
@echo off 
02.
pushd "D:\Bestellungen" 
03.
for /f "delims=" %%i in ('dir /b "IVSP5850.*"') do cscript //nologo "C:\Scripts\Remove1.vbs" "%%i" 
04.
popd 
05.
echo Bearbeitung abgeschlossen.
Grüße
bastla
Bitte warten ..
Mitglied: miniversum
06.07.2007 um 10:55 Uhr
Und hier die Pure-Batch lösung dazu.
01.
@echo off 
02.
set "filefilter=IVSP5850*" 
03.
 
04.
FOR /F "delims=" %%a in ('dir /B /A-D %filefilter%') do call:dofile "%%a" 
05.
goto:eof 
06.
 
07.
:dofile 
08.
set "line=" 
09.
FOR /F "delims=" %%i in ('type %1') do if not defined line set "line=%%i" 
10.
echo %line:~0,63%%line:~64%>"%~1.tmp" 
11.
more +1 %1>>"%~1.tmp" 
12.
move "%~1.tmp" %1 
13.
goto:eof
Hier wird immer in der ersten Zeile das 64. Zeichen (die "1") entfernt.
BEi mri wird allerdings die Orginal Datei gleich ersetzt. Willst du das ncith mußt du den move befehl weglassen.
Bitte warten ..
Mitglied: MarcelGausG
06.07.2007 um 12:11 Uhr
hallo bastla ...

du bist ne wucht ..... super.... klappt einwandfrei.... danke für die schnelle hilfe ...

*aufdiekniefall*

;)

cu
Bitte warten ..
Ähnliche Inhalte
Windows Server
Neue Netzlaufwerke verbinden und alte löschen bis auf eins
Frage von shooanWindows Server7 Kommentare

Hi Leute, aktuell bin ich gerade dran unsere Netzlaufwerke neu zu Ordnen da hier einiges an Wildwuchs in der ...

VB for Applications
VBS Zeilen in Textfile suchen und nur nach erfüllten Kriterien löschen
Frage von Calim3roVB for Applications6 Kommentare

Hallo zusammen Ich gelange wieder mal mit einer Bitte an euch. Kurze Erläuterung: In einem File habe ich Zeichenböcke: ...

LAN, WAN, Wireless
Wlan Router für ne Bar
gelöst Frage von Adnan88LAN, WAN, Wireless20 Kommentare

Hallo, ich suche einen Business WlanRouter für ne Bar nun meine Frage es würden zwangsweiße denke ich aller höchstens ...

Humor (lol)
Wer braucht ne Äpp?
gelöst Frage von Penny.CilinHumor (lol)2 Kommentare

Habe heute folgenden Spruch gehört: Ein Depp braucht für jeden Sch** 'ne Äpp Gruss Penny

Neue Wissensbeiträge
Windows 10

Autsch: Microsoft bündelt Windows 10 mit unsicherer Passwort-Manager-App

Tipp von kgborn vor 1 TagWindows 107 Kommentare

Unter Microsofts Windows 10 haben Endbenutzer keine Kontrolle mehr, was Microsoft an Apps auf dem Betriebssystem installiert (die Windows ...

Sicherheits-Tools

Achtung: Sicherheitslücke im FortiClient VPN-Client

Tipp von kgborn vor 1 TagSicherheits-Tools

Ich weiß nicht, wie häufig die NextGeneration Endpoint Protection-Lösung von Fortinet in deutschen Unternehmen eingesetzt wird. An dieser Stelle ...

Internet

USA: Die FCC schaff die Netzneutralität ab

Information von Frank vor 2 TagenInternet5 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 2 TagenDSL, VDSL2 Kommentare

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

Heiß diskutierte Inhalte
Batch & Shell
Kann man mit einer .txt Datei eine .bat Datei öffnen?
gelöst Frage von HelloWorldBatch & Shell20 Kommentare

Wie schon im Titel beschrieben würde ich gerne durch einfaches klicken auf eine Text oder Word Datei eine Batch ...

Router & Routing
OpenWRT bzw. L.E.D.E auf Buffalo WZR-HP-AG300H - update
gelöst Frage von EpigeneseRouter & Routing11 Kommentare

Guten Tag, ich habe auf einem Buffalo WZR-HP-AG300H die alternative Firmware vom L.E.D.E Projekt geflasht. Ich bin es von ...

LAN, WAN, Wireless
WLAN Reichweite erhöhen mit neuer Antenne
gelöst Frage von gdconsultLAN, WAN, Wireless8 Kommentare

Hallo, ich besitze einen TL-WN722N USB-WLAN Dongle mit einer richtigen Antenne. Ich frage mich jetzt ob man die Reichweite ...

Windows 10
Autsch: Microsoft bündelt Windows 10 mit unsicherer Passwort-Manager-App
Tipp von kgbornWindows 107 Kommentare

Unter Microsofts Windows 10 haben Endbenutzer keine Kontrolle mehr, was Microsoft an Apps auf dem Betriebssystem installiert (die Windows ...