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

Zeilenumbruch nach 40 zeichen hinzufügen

Frage Entwicklung Batch & Shell

Mitglied: kunzibus

kunzibus (Level 1) - Jetzt verbinden

13.01.2015, aktualisiert 13:18 Uhr, 1092 Aufrufe, 4 Kommentare

Hallo Community,

ich lese von einem Zeitterminal die Stempeldaten aus. Die Datei heißt allebuchungen.txt. Wenn ich das ganze mit Notepad betrachte sind leider alle Zeichen in einer Wurscht im Textfile.
$B4463214817;08.01.15;13:45:47;001;000;$B4463214817;08.01.15;13:45:47;001;000;$B4463211302;08.01.15;14:13:39;001;000;$B4463217202;08.01.15;14:13:47;001;000;$B4463211695;08.01.15;14:22:44;001;000;$B4463211697;08.01.15;14:23:27;001;000;$B4463211827;08.01.15;14:24:18;001;000;$B4463211827;08.01.15;14:24:35;001;000;$B4463216516;08.01.15;14:24:40;001;000;$B4463216516;08.01.15;14:24:44;001;000;$B4463087152;08.01.15;14:25:30;001;000;$B4463213597;08.01.15;14:27:47;001;000;
Es soll aber so aussehen.
$B4463214817;08.01.15;13:45:47;001;000; 
$B4463214817;08.01.15;13:45:47;001;000; 
$B4463211302;08.01.15;14:13:39;001;000; 
$B4463217202;08.01.15;14:13:47;001;000; 
$B4463211695;08.01.15;14:22:44;001;000; 
$B4463211697;08.01.15;14:23:27;001;000; 
$B4463211827;08.01.15;14:24:18;001;000; 
$B4463211827;08.01.15;14:24:35;001;000; 
$B4463216516;08.01.15;14:24:40;001;000; 
$B4463216516;08.01.15;14:24:44;001;000; 
$B4463087152;08.01.15;14:25:30;001;000; 
$B4463213597;08.01.15;14:27:47;001;000;
Es soll also alle 40 Zeichen ein Zeilenumbruch eingefügt werden.

Wie kann ich ein Batchfile erstellen was in der Datei allebuchungen.txt alle 40 Zeichen einen Zeilenumbruch einfügt. Bitte um Tipps ich finde einfach keine Lösung.


Mit freundlichen Grüßen

kunzibus
Mitglied: 114757
13.01.2015, aktualisiert um 20:27 Uhr
Moin kunzibus,
kleines Powershell-Script
01.
$file = 'C:\temp\test.txt' 
02.
$text = gc $file | out-string 
03.
1..([math]::Floor($text.Length/39)) | %{$text = $text.Insert(($_*40)-1,"|")} 
04.
$text.Split("|") | set-content $file
Gruß jodel32
Bitte warten ..
Mitglied: kunzibus
13.01.2015 um 11:57 Uhr
Hi Jodel Danke für dein Script. Allerdings bin ich scheinbar zu doof dafür.

ich habe die datei alle buchungen.csv nach c:\temp\test.txt kopiert. dann habe ich eine convert.ps1 erstellt und deinen text hineinkopiert. Wenn ich nun die convert.ps1 ausführe komtm allerdings folgende fehlermeldung. Was mache ich falsch? Vielen Dank im voraus.




PS C:\Users\admin> Set-ExecutionPolicy Unrestricted

Ausführungsrichtlinie ändern
Die Ausführungsrichtlinie trägt zum Schutz vor nicht vertrauenswürdigen Skripts bei. Wenn Sie die Ausführungsrichtlinie
ändern, sind Sie möglicherweise den im Hilfethema "about_Execution_Policies" beschriebenen Sicherheitsrisiken
ausgesetzt. Möchten Sie die Ausführungsrichtlinie ändern?
[J] Ja [N] Nein [H] Anhalten [?] Hilfe (Standard ist "J"): j
PS C:\Users\admin> C:\Temp\convert.ps1
Fehler beim Aufrufen der Methode, da [System.Object[]] keine Methode mit dem Namen "Insert" enthält.
Bei C:\Temp\convert.ps1:3 Zeichen:55

1..([int]($text.Length/40)-1) | %{$text = $text.Insert <<<< (($_*40)-1,"|")}

+ CategoryInfo : InvalidOperation: (Insert:String) [], RuntimeException
+ FullyQualifiedErrorId : MethodNotFound

Fehler beim Aufrufen der Methode, da [System.Object[]] keine Methode mit dem Namen "Insert" enthält.
Bei C:\Temp\convert.ps1:3 Zeichen:55

1..([int]($text.Length/40)-1) | %{$text = $text.Insert <<<< (($_*40)-1,"|")}

+ CategoryInfo : InvalidOperation: (Insert:String) [], RuntimeException
+ FullyQualifiedErrorId : MethodNotFound

Fehler beim Aufrufen der Methode, da [System.Object[]] keine Methode mit dem Namen "Insert" enthält.
Bei C:\Temp\convert.ps1:3 Zeichen:55

1..([int]($text.Length/40)-1) | %{$text = $text.Insert <<<< (($_*40)-1,"|")}

+ CategoryInfo : InvalidOperation: (Insert:String) [], RuntimeException
+ FullyQualifiedErrorId : MethodNotFound

Fehler beim Aufrufen der Methode, da [System.Object[]] keine Methode mit dem Namen "Insert" enthält.
Bei C:\Temp\convert.ps1:3 Zeichen:55

1..([int]($text.Length/40)-1) | %{$text = $text.Insert <<<< (($_*40)-1,"|")}

+ CategoryInfo : InvalidOperation: (Insert:String) [], RuntimeException
+ FullyQualifiedErrorId : MethodNotFound

Fehler beim Aufrufen der Methode, da [System.Object[]] keine Methode mit dem Namen "Insert" enthält.
Bei C:\Temp\convert.ps1:3 Zeichen:55

1..([int]($text.Length/40)-1) | %{$text = $text.Insert <<<< (($_*40)-1,"|")}

+ CategoryInfo : InvalidOperation: (Insert:String) [], RuntimeException
+ FullyQualifiedErrorId : MethodNotFound

Fehler beim Aufrufen der Methode, da [System.Object[]] keine Methode mit dem Namen "Insert" enthält.
Bei C:\Temp\convert.ps1:3 Zeichen:55

1..([int]($text.Length/40)-1) | %{$text = $text.Insert <<<< (($_*40)-1,"|")}

+ CategoryInfo : InvalidOperation: (Insert:String) [], RuntimeException
+ FullyQualifiedErrorId : MethodNotFound

Fehler beim Aufrufen der Methode, da [System.Object[]] keine Methode mit dem Namen "Insert" enthält.
Bei C:\Temp\convert.ps1:3 Zeichen:55

1..([int]($text.Length/40)-1) | %{$text = $text.Insert <<<< (($_*40)-1,"|")}

+ CategoryInfo : InvalidOperation: (Insert:String) [], RuntimeException
+ FullyQualifiedErrorId : MethodNotFound

Fehler beim Aufrufen der Methode, da [System.Object[]] keine Methode mit dem Namen "Insert" enthält.
Bei C:\Temp\convert.ps1:3 Zeichen:55

1..([int]($text.Length/40)-1) | %{$text = $text.Insert <<<< (($_*40)-1,"|")}

+ CategoryInfo : InvalidOperation: (Insert:String) [], RuntimeException
+ FullyQualifiedErrorId : MethodNotFound

Fehler beim Aufrufen der Methode, da [System.Object[]] keine Methode mit dem Namen "Insert" enthält.
Bei C:\Temp\convert.ps1:3 Zeichen:55

1..([int]($text.Length/40)-1) | %{$text = $text.Insert <<<< (($_*40)-1,"|")}

+ CategoryInfo : InvalidOperation: (Insert:String) [], RuntimeException
+ FullyQualifiedErrorId : MethodNotFound

Fehler beim Aufrufen der Methode, da [System.Object[]] keine Methode mit dem Namen "Insert" enthält.
Bei C:\Temp\convert.ps1:3 Zeichen:55

1..([int]($text.Length/40)-1) | %{$text = $text.Insert <<<< (($_*40)-1,"|")}

+ CategoryInfo : InvalidOperation: (Insert:String) [], RuntimeException
+ FullyQualifiedErrorId : MethodNotFound

Fehler beim Aufrufen der Methode, da [System.Object[]] keine Methode mit dem Namen "Insert" enthält.
Bei C:\Temp\convert.ps1:3 Zeichen:55

1..([int]($text.Length/40)-1) | %{$text = $text.Insert <<<< (($_*40)-1,"|")}

+ CategoryInfo : InvalidOperation: (Insert:String) [], RuntimeException
+ FullyQualifiedErrorId : MethodNotFound

Fehler beim Aufrufen der Methode, da [System.Object[]] keine Methode mit dem Namen "Insert" enthält.
Bei C:\Temp\convert.ps1:3 Zeichen:55

1..([int]($text.Length/40)-1) | %{$text = $text.Insert <<<< (($_*40)-1,"|")}

+ CategoryInfo : InvalidOperation: (Insert:String) [], RuntimeException
+ FullyQualifiedErrorId : MethodNotFound

Fehler beim Aufrufen der Methode, da [System.Object[]] keine Methode mit dem Namen "Insert" enthält.
Bei C:\Temp\convert.ps1:3 Zeichen:55

1..([int]($text.Length/40)-1) | %{$text = $text.Insert <<<< (($_*40)-1,"|")}

+ CategoryInfo : InvalidOperation: (Insert:String) [], RuntimeException
+ FullyQualifiedErrorId : MethodNotFound

Fehler beim Aufrufen der Methode, da [System.Object[]] keine Methode mit dem Namen "Split" enthält.
Bei C:\Temp\convert.ps1:4 Zeichen:12

$text.Split <<<< ("|") | set-content $file

+ CategoryInfo : InvalidOperation: (Split:String) [], RuntimeException
+ FullyQualifiedErrorId : MethodNotFound
Bitte warten ..
Mitglied: 114757
LÖSUNG 13.01.2015, aktualisiert um 18:57 Uhr
ah ok du hast noch Powershell 2.0 in dem Fall:
siehe Änderung oben
Bitte warten ..
Mitglied: kunzibus
13.01.2015 um 12:49 Uhr
Danke danke hat super funktioniert. Vieen dank jodel
Bitte warten ..
Neuester Wissensbeitrag
Off Topic

"Ich habe nichts zu verbergen"

(2)

Erfahrungsbericht von FA-jka zum Thema Off Topic ...

Ähnliche Inhalte
LAN, WAN, Wireless
Fritzbox Landingpage - haben Nutzungsbedingungen ein Limit von 200 Zeichen? (7)

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

Off Topic
gelöst IT Admin kleines Unternehmen (40 MA) (11)

Frage von Troll123 zum Thema Off Topic ...

Batch & Shell
Powershell, neue Spalte einer Liste hinzufügen (3)

Frage von DanielBodensee zum Thema Batch & Shell ...

Heiß diskutierte Inhalte
Linux Netzwerk
gelöst DHCP vergibt keine Adressen (32)

Frage von Maik82 zum Thema Linux Netzwerk ...

CPU, RAM, Mainboards
Kaufberatung für mind. 8 verschiedene HighEnd-Mainboards (20)

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

Mac OS X
Mac kann nicht im LAN pingen alle anderen schon (16)

Frage von smartino zum Thema Mac OS X ...

Hardware
gelöst PCI-Express-Adapterfrage (14)

Frage von DerWoWusste zum Thema Hardware ...