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, 802 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
Heiß diskutierte Inhalte
Switche und Hubs
LAG zwischen Cisco SG300 und Dlink DGS1100 herstellen - wie? (18)

Frage von White-Rabbit2 zum Thema Switche und Hubs ...

CPU, RAM, Mainboards
Hardware Fragen (12)

Frage von xaver-2 zum Thema CPU, RAM, Mainboards ...

Grafikkarten & Monitore
Neue Graifkkarte - kein Bild (10)

Frage von bestelitt zum Thema Grafikkarten & Monitore ...

Exchange Server
gelöst Exchange 2013 - Kontakte aus CSV importieren (9)

Frage von hesper zum Thema Exchange Server ...