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, 1047 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
Windows 10

Powershell 5 BSOD

(8)

Tipp von agowa338 zum Thema Windows 10 ...

Ähnliche Inhalte
Windows Server
gelöst Zusätzlichen Windows Server 2012R2 Domänencontroller hinzufügen (5)

Frage von Mar-west zum Thema Windows Server ...

Router & Routing
OpenVpn Verbindung Synology NAS hinter Zywall USG 40 (2)

Frage von Tirgel zum Thema Router & Routing ...

Netzwerkgrundlagen
Netzwerkordner in Drucker hinzufügen (3)

Frage von Nightmehr zum Thema Netzwerkgrundlagen ...

VB for Applications
gelöst VBA Text mit Format übertragen und Zeichen ergänzen (11)

Frage von Dau12345 zum Thema VB for Applications ...

Heiß diskutierte Inhalte
Microsoft
Ordner mit LW-Buchstaben versehen und benennen (21)

Frage von Xaero1982 zum Thema Microsoft ...

Netzwerkmanagement
gelöst Anregungen, kleiner Betrieb, IT-Umgebung (18)

Frage von Unwichtig zum Thema Netzwerkmanagement ...

Windows Update
Treiberinstallation durch Windows Update läßt sich nicht verhindern (17)

Frage von liquidbase zum Thema Windows Update ...