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

Rauten Automatisch entfernen

Frage Entwicklung Batch & Shell

Mitglied: Alcom-Pavel

Alcom-Pavel (Level 1) - Jetzt verbinden

07.10.2007, aktualisiert 08.10.2007, 3183 Aufrufe, 5 Kommentare

Hallo,

ich habe mal eine Frage ,

ich brüchte ein Script oder so das Automatisiert eine Datei "CMEDECHO.GDT" die in einem Ordner landet und folgenden Inhalt hat z.B.

01380006310
014810000139
01030001
0196228[#70]hallo
0186228Sonstiges
0096228
0096228
017620007102007
0198402[#70]hallo
011841070

Dann sollten alle Rauten (#)
entfernt werden.

und die Datei in einen anderen Ordner verschoben werden inkl. eine Sicherungkopie der Datei in einen Beliebigen Ordner.


Vielen Dank.

Gruß JMP
Mitglied: bastla
07.10.2007 um 22:53 Uhr
Hallo Alcom-Pavel!

Spontan würde mir als Lösung zu Deiner Fragestellung "sed" einfallen, aber per Batch lässt sich vielleicht auch etwas machen:
01.
@echo off & setlocal 
02.
set "In=D:\CMEDECHO.GDT" 
03.
set "CpDir=D:\Kopien" 
04.
set "Out=D:\Verschobene\CMEDECHO.GDT" 
05.
 
06.
if exist "%Out%" del "%Out%" 
07.
for /f "tokens=1* delims=:" %%i in ('findstr /n .* "%In%"') do set "Line=%%j" & call :ProcessLine "%%j" 
08.
move "%In%" "%CpDir%" 
09.
goto :eof 
10.
 
11.
:ProcessLine 
12.
set "Line=%Line:#=%" 
13.
if %1=="" set Line= 
14.
(echo.%Line%)>>"%Out%"
Die "set"-Zeilen am Anfang dienen dem Festlegen der Eingabedatei, des Ordners für die Sicherungskopie und des Dateinamens (samt Pfad) der bearbeiteten Datei. Für letztere wäre zu überlegen, was mit einer bereits vorhandenen gleichnamigen Datei im Zielordner geschehen soll - in der aktuellen Fassung wird diese vorweg gelöscht, um für die neue Datei "Platz zu machen".

Soferne Deine Datenzeilen alle im Format dem Beispiel entsprechen, sollte der Batch eigentlich funktionieren, wobei leere Zeilen oder nur aus Leerzeichen bestehenden Zeilen ebenfalls erhalten bleiben müssten. Probleme würde es geben, wenn eine Zeile eine ungerade Anzahl von Anführungszeichen enthalten sollte.

Grüße
bastla
Bitte warten ..
Mitglied: TuXHunt3R
07.10.2007 um 23:07 Uhr
Alternativ könntest du auch alle Rauten entfernen, indem die das File mit Notepad öffnest, dann Ctrl+H drückst und im dortigen Fenster alle Rauten durch nichts ersetzt, sprich das untere Feld einfach leer lässt. Sollte auch klappen, ich verstehe aber, dass es bei weitem bequemer ist, wenn man das mit einem geplanten Task machen kann.
Bitte warten ..
Mitglied: Alcom-Pavel
08.10.2007 um 01:27 Uhr
Hallo bastla ,


funktioniert super! wenn du mir jetzt noch sagen könntest wie ich das als Schleife laufen lassen kann, und die Sicherungkopie Nummern bekommt denn solche Datein kommen sekündlich ca. 80 mal am tag in diesen Ordner.
Vielen vielen Dank.

Gruß JMP
Bitte warten ..
Mitglied: bastla
08.10.2007 um 07:05 Uhr
Hallo Alcom-Pavel!

Ungetesteter Entwurf mit Endlosschleife und laufender Nummer (Format: "000001"):
01.
@echo off & setlocal 
02.
set "InDir=D:\Ein" 
03.
set "InName=CMEDECHO" 
04.
set "InTyp=GDT" 
05.
 
06.
set "CpDir=D:\Kopien" 
07.
 
08.
set "OutDir=D:\Verschobene" 
09.
set "OutName=NeuerName" 
10.
set "OutTyp=GDT" 
11.
 
12.
set "Nr=1000001" 
13.
 
14.
set "In=%InDir%\%InName%.%InTyp%" 
15.
:Schleife 
16.
set "Out=%OutDir%\%OutName%_%Nr:~-6%.%OutTyp%" 
17.
if exist "%Out%" del "%Out%" 
18.
for /f "tokens=1* delims=:" %%i in ('findstr /n .* "%In%"') do set "Line=%%j" & call :ProcessLine "%%j" 
19.
move "%In%" "%CpDir%\%InName%_%Nr:~-6%.%InTyp%" 
20.
set /a Nr+=1 
21.
:Warte 
22.
ping 127.0.0.1 -n 30 >nul 
23.
if not exist "%In%" goto :Warte 
24.
goto :Schleife 
25.
 
26.
:ProcessLine 
27.
set "Line=%Line:#=%" 
28.
if %1=="" set Line= 
29.
(echo.%Line%)>>"%Out%"
Mit dem Wert nach "-n" in der "ping"-Zeile kannst Du die Länge der Pause nach jeder Datei festlegen (derzeit ca 30 Sekunden).

Grüße
bastla
Bitte warten ..
Mitglied: Alcom-Pavel
08.10.2007 um 07:52 Uhr
Hallo bastler,

hammer Hart wie lange ich so eine Lösung suche,
ich danke dir, wie gerne würde ich sowas auch können.

Dank und Gruß

JMP
Bitte warten ..
Ähnliche Inhalte
Windows Server
DirectAccess Einstellungen im AD entfernen
Beitrag von 3 Kommentare

Frage von Neukunde zum Thema Windows Server

Batch & Shell
Haken bei "Skript für automatische Konfiguration verwenden" mit batch- oder reg-Datei entfernen
Beitrag von 7 Kommentare

Frage von windows-nutzer zum Thema Batch & Shell

Notebook & Zubehör
Defekte Schrauben entfernen
Beitrag von 13 Kommentare

Frage von honeybee zum Thema Notebook & Zubehör

Exchange Server
In Outlook ein Postfach entfernen
Beitrag von 2 Kommentare

Frage von hamihan zum Thema Exchange Server

Neue Wissensbeiträge
MikroTik RouterOS

Mikrotik - Lets Encrypt Zertifikate mit MetaROUTER Instanz auf dem Router erzeugen

Beitrag von 4 Kommentare

Anleitung von colinardo zum Thema MikroTik RouterOS

Sicherheit

Sicherheitslücke in HP-Druckern - Firmware-Updates stehen bereit

Beitrag von

Information von BassFishFox zum Thema Sicherheit

Administrator.de Feedback

Entwicklertagebuch: Die Startseite wurde überarbeitet

Beitrag von 5 Kommentare

Information von admtech zum Thema Administrator.de Feedback

Vmware

VMware Desktopprodukte sind verwundbar

Beitrag von

Information von Penny.Cilin zum Thema Vmware

Heiß diskutierte Inhalte
Visual Studio
Vb.net-Tool zum Erzeugen einer Outlook-E-Mail
Beitrag von 24 Kommentare

Frage von ahstax zum Thema Visual Studio

Windows Server
RDP macht Server schneller???
Beitrag von 16 Kommentare

Frage von JaniDJ zum Thema Windows Server

Windows Netzwerk
Netzwerk Neustrukturierung
Beitrag von 16 Kommentare

Frage von IT-Dreamer zum Thema Windows Netzwerk

Windows 10
Windows 10 dunkler Bildschirm nach Umfallen
Beitrag von 15 Kommentare

Frage von Akcent zum Thema Windows 10