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

X Zeichen am Anfang einer Textdatei entfernen (quasi Rand wegnehmen)

Frage Entwicklung Batch & Shell

Mitglied: Experiment626

Experiment626 (Level 1) - Jetzt verbinden

23.07.2014, aktualisiert 20:19 Uhr, 804 Aufrufe, 4 Kommentare

Hallo,
ich habe Textdateien, die einen linken Rand haben, sagen wir 10 Zeichen.
Das Dokument hat Absätze also auch Leerzeilen.

Ich hatte es etwas hinbekommen mit echo und :~10, aber immer wenn
die Lehrzeilen kamen, stand vom Echo dies ECHO ist eingeschlaftet (ON)
oder so ähnlich.
Die Leerzeilen sollen natürlich genauso wiedergegeben werden, der Rand
soll verschwinden.
Nun hatte ich hin und her gewurstet, jetzt hab ich nichts brauchbares mehr.

Die Dateien liegen immer im gleichen Ordner, tragen .txt und beginnen
alle gleich (Bef*.txt)

Für Euch ist das Problem vermutlich lachhaft, aber leider fehlt mir auf
Arbeit die Zeit, mich intensiver mit den Batch-Feinheiten zu beschäftigen.

Vielen Dank für Eure Hilfe.

Stitch
Mitglied: rubberman
LÖSUNG 23.07.2014, aktualisiert um 20:19 Uhr
Hallo Experiment626

Probier's mal so:
01.
@echo off &setlocal 
02.
for /f "delims=" %%i in ('dir /a-d /b Bef*.txt') do ( 
03.
  set "file=%%i" 
04.
  set "tmpfile=%temp%\%%~ni.tmp" 
05.
  setlocal EnableDelayedExpansion 
06.
  <"!file!" >"!tmpfile!" ( 
07.
    for /f %%j in ('type "!file!"^|find /c /v ""') do for /l %%k in (1 1 %%j) do ( 
08.
      set "line=" &set /p "line=" 
09.
      if defined line ( 
10.
        echo(!line:~10! 
11.
      ) else ( 
12.
        echo( 
13.
14.
15.
16.
  move /y "!tmpfile!" "!file!" 
17.
  endlocal 
18.
)
Bei mehrfachem Aufruf des Codes werden die Zeilen natürlich auch jedes mal um 10 Zeichen kürzer ...

Grüße
rubberman
Bitte warten ..
Mitglied: colinardo
LÖSUNG 23.07.2014, aktualisiert um 20:20 Uhr
Moin Stitch,
folgendes sollte auch hinhauen:
01.
@echo off &setlocal 
02.
for %%x in ("C:\Ordner\Bef*.txt") DO @( 
03.
	(for /f "tokens=1* delims=: " %%a in ('type "%%x" ^| findstr /n "^"') DO echo(%%b))>"%%~dpnx_korrigiert%%~xx" 
04.
)
Grüße Uwe
Bitte warten ..
Mitglied: Experiment626
23.07.2014 um 20:10 Uhr
Hallo rubberman,
vielen Dank für die rasche Hilfe.
Funktioniert tadelos, so wie es sein sollte.

Schönen Feierabend und nochmals danke.
Bitte warten ..
Mitglied: Experiment626
23.07.2014 um 20:18 Uhr
Hallo Uwe,
auch Dir vielen Dank für die schnelle Hilfe. Funktioniert an sich auch nicht schlecht, hat aber einen kleinen Schönheitsfehler.
Die Dokumente haben zum Teil Textelemente, die rechts ausgerichtet sind und links nichts am Anfang der Zeile stehen haben,
so dass hier die rechtsorientierten Elemente an den linken Anfang gezogen werden.

Das Script von rubberman hingegen macht es genau - aber ich werde auch Dein superkurzes Script in meine Sammlung aufnehmen.

Dir auch auch einen schönen Feierabend.
Bitte warten ..
Neuester Wissensbeitrag
Ähnliche Inhalte
Batch & Shell
gelöst Batch: Textdatei Zeilenweise auslesen (2)

Frage von CreatorX zum Thema Batch & Shell ...

Windows 7
gelöst GPO Internet Explorer Wartung entfernen (5)

Frage von xbast1x zum Thema Windows 7 ...

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

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

Heiß diskutierte Inhalte
Erkennung und -Abwehr
Virenschutz - Meinungen (27)

Frage von honeybee zum Thema Erkennung und -Abwehr ...

Windows 10
Welches OS für Firmengeräte? (18)

Frage von MarkusVH zum Thema Windows 10 ...

Netzwerke
Abisolierwerkzeug (18)

Frage von SarekHL zum Thema Netzwerke ...

Exchange Server
SBS2011: POP3-Connector 10 MB Grenze Email Benachrichtigung (17)

Frage von bogi1102 zum Thema Exchange Server ...