WinFuture-Forum.de: Batchproblem, TXTs ändern ;) - WinFuture-Forum.de

Zum Inhalt wechseln

Nachrichten zum Thema: Entwicklung
Seite 1 von 1

Batchproblem, TXTs ändern ;)


#1 Mitglied ist offline   nathaneast 

  • Gruppe: Mitglieder
  • Beiträge: 2
  • Beigetreten: 14. August 13
  • Reputation: 0

geschrieben 14. August 2013 - 11:51

Hallo Leute!

Ich habe ein Problem mit einem Batch, und zwar sollte die Batchdatei folgendes können:

Sie soll von allen Dateien innerhalb des Verzeichnisses (sind übrigens alles .DAT-Dateien) die ersten 12 Stellen des Dateinamens auslesen, innerhalb der Datei danach suchen, und diese 12 Zeichen durch die ersten 8 ihres Dateinamens ersetzen.

Habe leider nur geschafft die ersten 12 Zeichen der jeweiligen Dateinamen in einer neuen .txt-datei ausgeben zu lassen, und zwar mit folgendem Code:

@echo off
SETLOCAL ENABLEDELAYEDEXPANSION
set D=C:\Users\...\Desktop\Batch\test3
set F=liste.txt

for /f %%a in ('dir "%D%\*" /A:-D /B') do (
	set A=%%~a
	echo !A:~0,12!>> %F%
)
ENDLOCAL


, hab allerdings keine Ahnung wie ich weitermachen soll.

Bitte um eure Hilfe!!
0

Anzeige



#2 Mitglied ist offline   RalphS 

  • Gruppe: VIP Mitglieder
  • Beiträge: 8.902
  • Beigetreten: 20. Juli 07
  • Reputation: 1.126
  • Geschlecht:Männlich
  • Wohnort:Zuhause
  • Interessen:Ja

geschrieben 14. August 2013 - 15:48

Was ist denn da der Grundgedanke dahinter - was möchtest Du damit erreichen? :unsure:

Das erschließt sich mir leider nicht so ganz. Etwas schwer, einen guten Rat zu geben ohne zu wissen, was Du überhaupt erreichen möchtest. :wink:
"If you give a man a fish he is hungry again in an hour. If you teach him to catch a fish you do him a good turn."-- Anne Isabella Thackeray Ritchie

Eingefügtes Bild
Eingefügtes Bild
0

#3 _d4rkn3ss4ev3r_

  • Gruppe: Gäste

geschrieben 14. August 2013 - 17:17

So funktioniert es:

@echo off
cd /d "D=C:\Users\...\Desktop\Batch\test3"

for %%a in ("*.dat") do set A=%%a&call :loop
echo Fertig&pause&exit

:loop
set Aok=%A:~0,8%
set Arest=%A:~12%
ren "%A%" "%Aok%%Arest%"

0

#4 Mitglied ist offline   nathaneast 

  • Gruppe: Mitglieder
  • Beiträge: 2
  • Beigetreten: 14. August 13
  • Reputation: 0

geschrieben 16. August 2013 - 06:25

Also der Grundgedanke ist, dass ich einen ganzen Haufen Dateien habe die zB "ABCD1234ABCD1234.dat" heißen

in dieser Datei steht dann ziemlich viel Content drin, allerdings nur Wirrwarr, und irgendwo in der 2. Zeile an 5. Zeichenstelle (in jeder Datei an dieser Stelle) steht ABCD1234ABCD, und ich will aber dass da nur ABCD1234 steht. Welchen Zweck diese Dateien haben kann ich dir leider nicht verraten :)

Danke d4rkn3ss4ev3r, aber wenn ich diesen code ausführe bekomme ich folgende Meldung: "Die Syntax für den Dateinamen, Verzeichnisnamen ... ist falsch"

Jedoch schafft es deine Datei, genau das was ich erreichen will, auf den Dateinamen auszuführen! wie schaff ich, dass es innerhalb der Datei steht?!

Bitte erneut um eure hilfe! :)
0

#5 _d4rkn3ss4ev3r_

  • Gruppe: Gäste

geschrieben 18. August 2013 - 15:58

Du musst natürlich den Pfad C:\Users\...\Desktop\Batch\test3 voll auschreiben.
Ich hab nur das kopiert was du uns mittgeteilt hast.

Dann sollte es auch funktionieren.
0

Thema verteilen:


Seite 1 von 1

1 Besucher lesen dieses Thema
Mitglieder: 0, Gäste: 1, unsichtbare Mitglieder: 0