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

Zeilen von txt datein mit batch verändern

Frage Entwicklung Batch & Shell

Mitglied: Darkprodukt

Darkprodukt (Level 1) - Jetzt verbinden

11.02.2012, aktualisiert 10:55 Uhr, 2978 Aufrufe, 4 Kommentare

Ich schreibe im moment an einem Batch Programm, was aus einer .txt datei (struk.txt)
darein sich befinden Pfade zeilenweise ausliest und alle Datein die gefunden werden in die Datei (Temp.txt) gelegt werden.

Mein problem war, dass durch diesen Befehl:
01.
type >%TEMP%\temp.txt 
02.
for /F %%i in ('type "Struk.txt"') do (dir /d %%i /b /s >>%TEMP%\temp.txt)
Auch Ordner Pfade in der Datei temp.txt lagen.

Das hab ich so gelöst:
01.
type >tempa.txt 
02.
for /F "delims=þ" %%i in ('find /N "." %TEMP%\temp.txt') do 		( 
03.
												echo %%i>>%TEMP%\tempa.txt && type >%TEMP%\tempb.txt 
04.
05.
for /F "skip=2 delims=þ" %%i in ('type %TEMP%\tempa.txt') do 	( 
06.
												echo %%i>>%TEMP%\tempb.txt && del %TEMP%\tempa.txt 
07.
												)   
//Die 2. for schleife Löscht nur die beiden obersten Zeilen da der Befehl "find" leider ein paar rückstände hinterläst.

Jezt habe ich eine Datei (tempb.txt) wo alle Datein drinnen stehen.
Leider hat die Datei 2 Fehler
1. Vor jeder Zeile steht eine "[Zahl]" in den eckigen Klammern ist eine 1-4 stellige Zahl.
Ich würde gerne die komplette Klammer mit Zahl die vor dem Pfad steht in jeder zeile Löschen.
2. Wenn ein "." sich in einem Ordnernamen, werden die Namen auch mitgeschrieben.



So bis dahin wären das meine Probleme und Ich danke für jede Unterstützung bei der Lösung

Lg Darkprodukt
Mitglied: pieh-ejdsch
11.02.2012 um 11:50 Uhr
moin Darkprodukt,
Willkommen im Forum.

Wenn Du mit dir Nur die Dateien ausgeben willst, welche keine anderen Attribute haben, nimmst Du die Option /a-s-h-d.

Sobald Du die Option /b nimmst werden aber auch alle Zusatzoptionen wie /D /L /N /W /R /X nicht angezeigt.

nimm diese Schleife
01.
02.
for /f "usebackq delims=" %%i in ("Struck.txt") do >&3 dir /a-s-h-d /b /s "%%~i" 
03.
) 3>>  "D:\Neue Datei"
Gruß Phil
Bitte warten ..
Mitglied: Darkprodukt
11.02.2012 um 12:29 Uhr
Danke
Da sehe ich mal wieder wie wenig Ahnung ich habe
,
war schon bei ca. 30 Progarmm zeilen und die 3. Zeilen von dir machen genau das gleiche und ohne Fehler. ^^

Könnte ich jezt danach jede Zeile der Datei (temp.txt) spalten, so dass ich 3 Datein habe.

1. Die von oben die Temp.txt
2. Wo in jeder Zeile der Pfad bis einschließlich zum letzten " \" steht
3. Wo in jeder Zeile der Datei name also der teil nach dem letzten "\" steht


Edit:

1. Kan ich ja einfach behalten.
2. Ist die Lösung naheliegen, nehmlich:
01.
type >tempdatn.txt 
02.
03.
for /f "usebackq delims=" %%i in ("Struk.txt") do >&3 dir /a-s-h-d /b "%%~i"  
04.
) 3>>  "tempdatn.txt"
Einfach ohne "/s"

3. Hab ich noch nicht aber vieleicht kan ich ja beide Datein also 1. und 2. mit einander vergleichen und das gleiche Löschen so das eben nur die Pfade übrig bleiben.

Es ist bei 2. und 3. wichtig das der Pfad in Zeile 1 auch zu dem Namen in Zeile 1 der anderen Datei gehört
Bitte warten ..
Mitglied: pieh-ejdsch
11.02.2012 um 13:08 Uhr
Hmm, das gehört in eine neue Frage.
Wie Du Texte respektive Pfade/Dateien zerlegst, hast Du in der schönen Anleitung Tutorial zur FOR-Schleife von Friemler beschrieben.

Gruß Phil
Bitte warten ..
Mitglied: Darkprodukt
11.02.2012 um 14:53 Uhr
Danke für den Link, der hat mir wirklich sehr geholfen.

Ich habe es jezt so gelöst:
01.
type >%TEMP%\temp.txt 
02.
type >%TEMP%\tempdatn.txt 
03.
type >%TEMP%\tempdatp.txt 
04.
05.
for /f "usebackq delims=" %%i in ("Struck.txt") do >&3 dir /a-s-h-d /b /s "%%~i"  
06.
) 3>>  "%TEMP%\temp.txt" 
07.
 
08.
for /f "usebackq delims=" %%i in ("Struck.txt") do for /f "delims=" %%j in ('dir /a-s-h-d /b /s "%%~i"') do echo %%~nxj >>%TEMP%\tempdatn.txt 
09.
 
10.
for /f "usebackq delims=" %%i in ("Struck.txt") do for /f "delims=" %%j in ('dir /a-s-h-d /b /s "%%~i"') do echo %%~dpj >>%TEMP%\tempdatp.txt
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
gelöst Vorhandene TXT per Batch aktualisieren (6)

Frage von kampen zum Thema Batch & Shell ...

Batch & Shell
gelöst Einen Teil eines Textpfades aus einer TXT per Batch entfernen!? (3)

Frage von kampen zum Thema Batch & Shell ...

Batch & Shell
gelöst Zeilenumbruch-Zeilen-Vorschub entfernen? (Batch) (9)

Frage von clragon zum Thema Batch & Shell ...

Neue Wissensbeiträge
Tipps & Tricks

Wie Hackt man sich am besten in ein Computernetzwerk ein

(29)

Erfahrungsbericht von Herbrich19 zum Thema Tipps & Tricks ...

Humor (lol)

Bester Vorschlag eines Supporttechnikers ever: APC

(15)

Erfahrungsbericht von DerWoWusste zum Thema Humor (lol) ...

Windows Server

Exchange 2010 Active Directory und Windows Server 2016

(4)

Erfahrungsbericht von Herbrich19 zum Thema Windows Server ...

Heiß diskutierte Inhalte
Internet
gelöst Mitarbeiter surft auf unerwünschter Seite - Wie damit umgehen? (44)

Frage von sabines zum Thema Internet ...

Netzwerke
Wie erstelle ich ein Intranet (19)

Frage von Leonardnet zum Thema Netzwerke ...

LAN, WAN, Wireless
gelöst Eintägige Netzwerkunterbrechung trotz Backupleitung (15)

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

Windows Server
Server 2012 R2 - Zugriff Verweigert bei jeglicher Tätigkeit (13)

Frage von DarkLevi zum Thema Windows Server ...