Top-Themen

Aktuelle Themen (A bis Z)

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 Umbenennen von TXT Dateien aus Inhalt von dieser TXT Datei

Mitglied: Halperimre

Halperimre (Level 1) - Jetzt verbinden

23.10.2008, aktualisiert 24.10.2008, 3718 Aufrufe, 5 Kommentare

Sehr geehrtes Administrator-Team!
Sehr geehrte User!

Da ich neu hier bin weiß ich nicht so recht ob ich hier im richtigen Unterforum gelandet bin!
Ich benutze Tekla Structures was ein leistungsstarkes Programm für 3D-Konstruktion ist.
Mit diesem Programm kann ich .nc Daten erzeugen die ich dann zur Weiterverarbeitung meiner CNC-Maschine umbenennen muß!
Das Problem ist das die CNC-Maschine über ein anderes Programm die Daten eingegeben werden welche .nc Dateien verwenden.
Dieses Programm zeigt mir aber nicht Stückzahl und Blechstärke und ich muß deshalb in langen Listen nach Dateiname suchen damit ich weiß wieviel Stück und welche Blechstärke ich benötige.

Meine Datei heißt: VS_8.nc
und der Inhalt ist folgender:
ST
** VS_8.nc
239/2008
11
VS/8
VS/8
S235JRG2
12
FL25*250
B
354.23
250.00
25.00
25.00
25.00
0.00
200.000
2.367
-4.768
-0.004
0.000
0.000




AK
v 0.00u 0.00 0.00 0.00 0.00 0.00 0.00
354.21 0.00 0.00 0.00 0.00 0.00 0.00
354.23 250.00 0.00 0.00 0.00 0.00 0.00
314.23 250.00 0.00 0.00 0.00 0.00 0.00
16.18 193.99 0.00 0.00 0.00 0.00 0.00
0.00 0.00 0.00 0.00 0.00 0.00 0.00
BO
v 53.71s 50.16 29.00
v 60.69s 129.86 29.00
EN

Nun möchte ich das meine Datei VS_8_12stk_25.00mm.nc heißt.

Der Wert 12 kommt aus Zeile 8 und es müßte noch Stk hinzugefügt werden
Der Wert 25.00 kommt aus Zeile 13 und es müßte noch mm hinzugefügt werden.

Da ich Tekla nicht dazubewegen kann das es stückzahl und blechstärke hinzufügt zum Dateinamen, dachte ich mir das dies vielleicht über ein Batchprogramm bewerkstelligt werden könnte!
Da ich zeitweise über 100 Dateien zu bearbeiten habe ist dies sehr mühsam!


Vielen Dank im voraus für eure Bemühungen
Mitglied: bastla
23.10.2008 um 20:09 Uhr
Hallo sehr geehrter Halperimre und willkommen im völlig richtigen Zweig des Forums!

Der folgende Batch sollte, zum Testen, die Umbenenn-Vorgänge nur anzeigen - wenn das Ergebnis vernünftig aussieht, das "echo" (Zeile 6) vor dem "ren" entfernen, um tatsächlich die Dateinamen ändern zu lassen:
01.
@echo off & setlocal enabledelayedexpansion 
02.
pushd "D:\NC-Files" 
03.
for /f "delims=" %%i in ('dir /b /a-d *.nc') do ( 
04.
    set M= 
05.
    for /f "tokens=1* delims=:" %%a in ('findstr /n "^" "%%i"^|findstr /b "8: 13:"') do set "M=!M!#%%b" 
06.
    for /f "tokens=1-2 delims=#" %%a in ("!M!") do echo ren "%%i" "%%~ni_%%astk_%%bmm%%~xi" 
07.
08.
popd
Noch zwei Hinweise:
  • Sollte im Ordner- oder Dateinamen ein "!" enthalten sein, müsste eine andere Vorgangsweise gewählt werden.
  • Falls in den relevanten Zeilen 8 und 13 der Datei das Zeichen "#" vorkommen könnte, müsste dieses Zeichen in den Batch-Zeilen 5 und 6 durch ein anderes Zeichen, etwa "$", ersetzt werden.

Grüße
bastla

[Edit] Trennzeichen auf "#" geändert [/Edit]
[Edit2] Schleife für Dateien auf "for /f" geändert, um mehrfaches Umbenennen zu vermeiden [/Edit2]
Bitte warten ..
Mitglied: Halperimre
24.10.2008 um 07:15 Uhr
Sehr geehrter Herr Bastla!

Ihre Batch Datei funktioniert einwandfrei!
Sie haben mir dadurch viele Stunden Arbeit genommen!
Da die Dateinamen immer gleich aufgebaut sind z.B. XX_1234.nc sind Ihre zwei Hinweise nicht relevant für mich!
Ich weiß nicht wie ich mich bei Ihnen bedanken soll, aber trotzdem vielen tausend Dank!

mfg Halperimre
Bitte warten ..
Mitglied: Masterofdwc
11.02.2009 um 09:59 Uhr
Hallo,

wie müsste der Code aussehen, wenn ich nichts an den Dateinamen anhängen will, sondern nur einen gewissen teil herausfiltern will.

Zu Verdeutlichung:
In meiner Datei (Die immer anders heißt) steht in Zeile 1:
B0012300339709022009

für mich sind die 4 Zahlen nach der 8ten Stelle wichtig. Also in dem Fall "3397"

Das Skript soll mir jetzt also die Datei, in der diese Zeile steht nach "3397.txt" umbenennen.

Komplikation dabei ist noch, dass mehrere Dateien in diesem verzeichnis sind, die alle auf diese Art und Weise abgearbeitet werden müssen.

Hab schon versucht im obigen Code ein %a:~-12,4% mit rein zu bringen. Aber ich kriegs nicht hin.

Für eine kleine HIlfestellung wäre ich dankbar.
Bitte warten ..
Mitglied: bastla
11.02.2009 um 19:58 Uhr
Hallo Masterofdwc!

Eine Stringzerlegung ist leider mit Laufvariablen einer "for"-Schleife nicht möglich - daher eher so:
01.
@echo off & setlocal enabledelayedexpansion 
02.
pushd "D:\NC-Files" 
03.
for /f "delims=" %%i in ('dir /b /a-d *.nc') do ( 
04.
    set /p Zeile=<"%%i" 
05.
    set "Wert=!Zeile:~8,4! 
06.
    echo !Wert! 
07.
08.
popd
Damit der Variableninhalt (= erste Zeile der jeweiligen Datei) von %Zeile% innerhalb der "for"-Schleife auch wieder gelesen und verwendet werden kann, muss "delayedExpansion" (oder ein Unterprogramm) verwendet werden - im Beispiel oben ist es Ersteres, wodurch sich die Schreibweise von %Zeile% auf !Zeile! verändert.

Grüße
bastla
Bitte warten ..
Mitglied: Masterofdwc
09.03.2009 um 07:39 Uhr
Da wär ich nie drauf gekommen.

Danke sehr. Funktioniert.
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
Dateien nach Inhalt umbenennen
gelöst Frage von IcemaniacBatch & Shell4 Kommentare

Hallo Community, ich hoffe Ihr könnt mir weiter helfen. Ich habe in einem Ordner hunderte txt-Dateien auf einem Windows-PC, ...

Batch & Shell

Aus dem Inhalt einer Datei (CSV) Dateien suchen und umbenennen

gelöst Frage von IT-WurzelBatch & Shell2 Kommentare

Hallo liebe Community, für mein Problem benötige ich von Euch Hilfe und wäre für einen Lösungsansatz sehr dankbar. Ich ...

VB for Applications

Inhalt einer Textbox in eine .txt Datei schreiben

gelöst Frage von Just4fun1990VB for Applications4 Kommentare

Hallo Administrator.de User, ich habe jetzt schon sehr lange gesucht und finde leider nichts. Hier allerdings habe ich gute ...

Batch & Shell

Dateien Umbenennen

gelöst Frage von PLBot85Batch & Shell6 Kommentare

Hi, ich habe einen Ordner wo mehrer Dateien drin liegen. 20150316_121757_92636382965528_WMA1847GK62_TDOBB112.ddd 20150314_085730_73826383950256_WMA18263926_TDOBB236.ddd etc Die sollen jetzt mittels einer Batchdatei ...

Neue Wissensbeiträge
Humor (lol)
IoT-Gefahr: Smartes Aquarium leckt!
Information von Lochkartenstanzer vor 1 TagHumor (lol)3 Kommentare

Moin, Die IoT-Manie hat weitere Opfer gefunden. Ein Casino-Leck durch ein smartes Aquarium: Allerdings haben sie kein Wasser, sondern ...

Router & Routing

Alte Fritzbox 7270 mit VPN und SIP-Telefonie hinter O2 Homebox 6641 als "Modem"

Erfahrungsbericht von the-buccaneer vor 1 TagRouter & Routing3 Kommentare

Nun war es soweit: Auch O2 hat mich mit VOIP zwangsbeglückt. Heute am Privatanschluss, in 2 Wochen ist das ...

Sicherheit

Ungepatchte Remote Code Execution-Lücke in LG NAS

Information von kgborn vor 2 TagenSicherheit

Nutzt wer LG NAS-Einheiten? In den NAS-Einheiten der LG Network Storage-Einheiten gibt es eine sehr unschöne Schwachstelle, die einen ...

Windows Update

Neue Version KB4099950 NIC Einstellungen gehen verloren

Information von sabines vor 2 TagenWindows Update2 Kommentare

Es ist eine neue Version des KB4099950 verfügbar, die das Problem mit den verlorenen Netzwerkeinstellungen lösen soll. Das Datum ...

Heiß diskutierte Inhalte
Router & Routing
Mikrotik: Routing zwischen Interfaces mit Geräten ohne Gateway
Frage von TonLichtVideoRouter & Routing18 Kommentare

Hallo zusammen, ich komme aus dem Veranstaltungstechnik Bereich und habe zwei Netze um verschiedene Hardware zu Remoten. CONTROL1 192.168.1.0/24 ...

Linux Netzwerk
Raspberry Pi 3: WLAN Power save deaktivieren
Frage von nordie92Linux Netzwerk14 Kommentare

Moin moin, mein Raspberry Pi 3 Model B benötigt eine dauerhaft aktive WLAN-Verbindung. Leider bricht die WLAN-Verbindung nach einigen ...

SAN, NAS, DAS
Entscheidung SAN Dell oder HP
Frage von VincorSAN, NAS, DAS13 Kommentare

Hallo, wir wollen uns für unsere Hyper V Umgebung eine neue SAN Anschaffen. Es laufen 30 VM's darunter, DC; ...

Vmware
Server 2008 r2 vmware terminalserver
Frage von MasterCVmware10 Kommentare

Guten Abend zusammen, ich hoffe , dass einer von euch mir weiterhelfen kann ,bei meinem kack Problem ! Ist ...