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

STA Dateien umbenennen

Frage Entwicklung Batch & Shell

Mitglied: Kies-Krieger

Kies-Krieger (Level 1) - Jetzt verbinden

03.11.2010, aktualisiert 18.10.2012, 3845 Aufrufe, 25 Kommentare

Hallo Leute,

ich habe zum einen ein Programmierproblem und zum anderen wenig bis gar keine Programmierkenntnisse. Ich hoffe dennoch, dass mir hier geholfen werden kann. Es gibt bereits einen geschlossenen Fred http://www.administrator.de/index.php?content=61742 , der genau schildert, welches Problem ich habe. Nur dass meine STA-Datei anders aussieht.

Zum Problem genau:
Ich möchte aus einer STA-Datei eine zehnstellige Ziffer (=Kontonummer) auslesen und diese dann als Dateiname verwenden. So sieht meine STA-Datei aus:
:20:STARTUMS
:25:66391600/10518202
:28C:0
...
Die Kontonummer lautet in diesem Fall "10518202" und meine zukünftige STA-Datei soll also 10518202.sta heißen.

Anders als im o.g. Fred habe ich kein "#EUR" in meiner STA-Datei stehen. Deshalb funktioniert auch der dort als Lösung angegebene Code nicht, der wie folgt aussieht:

set "Ordner=D:\STADaten"
set "Typ=sta"
cd /d "%Ordner%"
for %%f in (*.%Typ%) do call :ProcessFile "%%f"
goto :eof

:ProcessFile
set Nr=
for /f "delims=#" %%i in ('more +1 "%~1"') do if not defined Nr set Nr=%%i
if defined Nr move /y "%~1" "%Nr%.%Typ%"
In meinem Fall müsste man sich nach den Zeichen :25: suchen, da hier die Zeile immer eindeutig defniniert ist. Außerdem ist die folgende BLZ natürlich immer 8-stellig und die Kontonummer immer duch einen / von der BLZ getrennt.


Wie gesagt - Ich kenne mich nicht aus. Es wäre nett, wenn jemand mir den Code derart abändern könnte, dass die Kontonummer als Dateiname ersetzt wird. Tausend Dank schon mal im voraus!!!
Mitglied: 60730
03.11.2010, aktualisiert 18.10.2012
moin,

versuch> das ganze den ganzen Thread mal zu kürzen...

hier gehts weiter
Bitte warten ..
Mitglied: bastla
03.11.2010 um 19:34 Uhr
Hallo Kies-Krieger und willkommen im Forum, hallo T-Mo!

Eine kleine Variation des Ansatzes (aber genauso ungetestet) könnte so aussehen:
01.
set "Ordner=D:\STADaten" 
02.
set "Typ=sta" 
03.
 
04.
pushd "%Ordner%" 
05.
for /f "delims=" %%f in ('dir /b /a-d *.%Typ% 2^>nul') do call :ProcessFile "%%f" 
06.
goto :eof 
07.
 
08.
:ProcessFile 
09.
set Nr= 
10.
for /f "tokens=2 delims=/" %%i in ('findstr ":25:" %~1') do if not defined Nr set "Nr=%i" 
11.
if defined Nr echo ren %1 "%Nr%.*" 
12.
goto :eof
Vorteil: Ev schon bestehende Zieldateien werden durch "ren" nicht überschrieben (was ein "move" auch ganz ohne "/y" machen würde) ...

Grüße
bastla

P.S.: Ist "Kies-Krieger" eigentlich ein Synonym für "Geldscheffler"?
Bitte warten ..
Mitglied: Biber
03.11.2010 um 20:03 Uhr
[OT] @bastla

Zitat von bastla:
P.S.: Ist "Kies-Krieger" eigentlich ein Synonym für "Geldscheffler"?
Die Alternative "Moos-Sammler" wäre zu schwierig für meine Ex-Praktikantin Susi ..aka "Ssusi, ssag mal 'Ssalatssüsssl'... "
[/OT]
Bitte warten ..
Mitglied: Kies-Krieger
04.11.2010 um 07:51 Uhr
Hallo Timo,

danke für die prompte Antwort. Hatte gestern leider keine Zeit mehr selbst zu antworten. Deshalb gleich jetzt in aller Herrgottsfrüh!

Danke auch für die Erklärung von "more+1". Meine Daten stehen auch immer in der zweiten Zeile. Von daher wäre das more+1 ja auch ok, oder nicht?.

Leider funktioniert Dein Script nicht. Eine Fehlermeldung konnte ich nicht erkennen. Wie kann man das langsam abspielen? Ich habe leider keine Ahnung woran es liegen könnte. Evtl. daran dass noch mehr / in der Datei vorkommen? Dann macht das mit der zweiten Zeile schon Sinn.

Was bedeutet "token=2"?

Und woher weiß er bei Dir, dass er nach dem / anfangen soll und dann am Ende der Zeile aufhören soll?

Tut mir leid, wenn ich solche bescheuerten Fragen stelle, aber ich habe davin eben sehr wenig Ahnung.


Trotzdem Danke nochmal für die schnelle Hilfe...Ich probiere weiter....
Bitte warten ..
Mitglied: Kies-Krieger
04.11.2010 um 07:58 Uhr
Hallo Bastla,

auch Dir vielen Dank für die superschnelle Hilfe. Leider geht auch Dein Script nicht. Allerding bringt er Fehlermeldungen, die ich aber aufgrund der Geschwindigkeit nicht lesen kann. Wie kann ich das langsamer abspielen?

Und warum steht bei Dir hinter dem ersten (Zeile 05) "delims=" nichts?

Kies-Krieger ist der übliche Geschäftsname meiner Firma, bei der ich angestellt bin. Ich bin gerade dabei SAP bei uns im Bereich FI/CO einzuführen. Und beim einstellen des automatischen Kontoauszugs habe ich eben o. g. Probleme, weil SFirm die Daten nur fortlaufend nummeriert, wir aber zu viele Banken udn daher STA-Dateien haben, um pro Buchungskreis immer die richtige einzuspielen. Von daher wäre die Kontonummer im Dateiname sehr vorteilhaft.

Ob unsere Chefs damals auch daran dachten, dass es ein Synonym für "Geldscheffler" ist, kann ich mir gut vorstellen, bei der Kohle die hier fließt Du kannst ja mal kies-krieger.de eingeben, falls Du Baustoffe oder nen Schiffstransport aufm Rhein oder aufm Neckar benötigst

Also nochmal Danke auch Dir für die schnelle Hilfe.
Bitte warten ..
Mitglied: Kies-Krieger
04.11.2010 um 08:02 Uhr
Hallo Bastla,

habe es nochmals getestet und Dein echo entfernt. Jetzt benennt er die erste STA Datei im Verzeichnis um, aber nicht mit der Kontonummer sindern Dateiname ist nun einfach "i".

Vielleicht hilft Dir das weiter den Fehler evtl. doch noch zu finden.
Bitte warten ..
Mitglied: Kies-Krieger
04.11.2010 um 08:16 Uhr
Hallo Bastla,

habe den Fehler gefunden.

Aus "do if not defined Nr set "Nr=%i" " mache "do if not defined Nr set "Nr=%%i"

Dann gehts!

Vielen Tausend Dank!!!!!!!!



Da jede meiner Kontonummern zu einer ganz bestimmten Firma gehört, die wir verwalten wäre es wünschenswert, wenn er im Dateiname jetzt auch noch die Firmennummer haben könnte. Eben nach einer festen Zuordnung. Wie könnte man das machen?

Also z.B.

Kontonummer 123456 gehört zu Firmennummer 01
Kontonummer 987654 gehört zu Firmennummer 02
etc.

Aus 123456.sta wird dann 123456_01.sta oder noch besser 01_123456.sta

Müsste ich die Zuordnung Kontonummer zu Firmennummer am besten in einer extra txt-Datei führen oder wie glaubt ihr könnte man das realisieren?
Bitte warten ..
Mitglied: Kies-Krieger
04.11.2010 um 08:29 Uhr
Hallo Timo,

auch Dein Script geht wenn man bei "%~1" die Anführungszeichen weglässt.

Dein Move-Befehl ist mir fast sympatischer, weil ich damit die Datei doch auch verschieben kann oder nicht? Wenn ich in D:\STADaten ein "save" Verzeichnis erstelle (also D:\STADaten\save) Wie kann ich die Datei dann dort reinschieben?

Und wenn ich das mache dann benötige ich leider auch das Datum im Dateiname, weil er ja sonst täglich neu generierte STA-Dateien im save Verzeischnis überschreiben würde oder?

Tut mir leid wenn ich euch so trietze!! (Schreibt man das so?^^)
Bitte warten ..
Mitglied: Kies-Krieger
04.11.2010 um 08:35 Uhr
Hallo Timo,

habe das Datumsproblem mit eine "%date%" vor "%Nr%.%Typ%" gelöst. Ich fühl mich an 64er Zeiten erinnert...oh mann!!! Wie bekommt man einen Unterstrich zwischen Datum und Kontonummer? Ich probier weiter.

@Admin
Sorry, wenn ich den Fred hier selbst vollspamme aber ich hab gerade nen "Retro-Programmier"-Lauf^^ Nicht böse sein!




edit:

Habe den Unterstrich!!! Für alle Anfänger denen es evtl. hilft: Mit "_" zwischen "%date%" und "%Nr%.%Typ%" also so: "%date%""_""%Nr%.%Typ%"

Jetzt nur noch das Buchungskreis und das save-Verzeichnisproblem....hrhrhrhr
Bitte warten ..
Mitglied: 60730
04.11.2010 um 10:05 Uhr
Moin,

au wei, das aber viel zum lesen.. ich fang von unten an...

  • Um Thema Batch Datum" gibts es ein "das" Tut vom Biber
An deiner Stelle würde ich überlegen, ob es nicht sinniger sein könnte, jeden Monat in einen eigenen Ordner zu schreiben

  • jahr\monat\tag-kontonummer.sta

Es ist nicht "mein" Script und mein Move, die Ehre gebührt Bastla - ich hab das nur adoptiert, weil es grad so nett dastand.
(ich vermute anhand ) do call :ProcessFile das wir über ein Bastlascript sprechen.

Was bedeutet "token=2"?
gib mal for /? in die Dosbox ein - den zweiten "schlüssel" nehmen -die delims bestimmen den Trenner, ab wann der zweite Schlüssel gilt.
Und woher weiß er bei Dir, dass er nach dem / anfangen soll und dann am Ende der Zeile aufhören soll?
  • delims=/
  • for ist zeilenbasiert

Da jede meiner Kontonummern zu einer ganz bestimmten Firma gehört, die wir verwalten wäre es wünschenswert, wenn er im Dateiname jetzt auch noch die Firmennummer haben könnte. Eben nach einer festen Zuordnung. Wie könnte man das machen?

Wenn du Bastlas Weg nehmen würdest evtl. so:

01.
11. if defined Nr echo ren %1 "%Nr%.*"
kennst du ja

Kontonummer 123456 gehört zu Firmennummer 01
Kontonummer 987654 gehört zu Firmennummer 02

01.
11a. if defined Nr if "%Nr"=="123456" echo move %1 "Firma1\%Nr%.*" 
02.
11b. if defined Nr if "%Nr"=="987654" echo move %1 "Firma2\%Nr%.*"
So würde er (wenn es einen Ordner Firma1/2 gäbe) die Dateien hübsch in deren Ordner verstecken.
das könnte man zwar auch netter über eine If Else schreiben, aber mein Kaffee ist alle
und ungetestet aus dem Bauch ist es auch.

gruß
Bitte warten ..
Mitglied: Kies-Krieger
04.11.2010 um 10:28 Uhr
Hallo Timo,

danke für die Hilfe. Habe gerade Kaffee nachgeschöpft *zuprost*:

So: Wenn ich das richtig verstehe muss ich einfach unter die Zeile 11 Deine Zeilen 11a, 11b etc. einfügen, nicht wahr.

Habe das jetzt so:

:ProcessFile
set Nr=
for /f "tokens=2 delims=/" %%i in ('findstr ":25:" %~1') do if not defined Nr set Nr=%%i
if defined Nr ren %1 "%date%""_""%Nr%.%typ%"
if defined Nr if "%Nr"=="0009502509" move %1 "Firma1\%Nr%.*"
goto :eof

Umbenennen tut er die Datei. Aber verschieben nicht

Meine STA-Datei sieht zu Beginn so aus:
:20:STARTUMSE
:25:62050000/0009502509
:28C:00000/001

Meine umbenannte Datei sieht dann so aus: 04.11.2010_0009502509.sta

Nebenbei: Gibt es auch das Datumsformat YYYYMMDD ?? Gerne auch mit Punkten also YYYY.MM.DD ? Wenns ne Riesensache ist gehts auch ohne.
Bitte warten ..
Mitglied: Biber
04.11.2010 um 11:10 Uhr
[OT]

Zitat von Kies-Krieger:
Umbenennen tut er die Datei. Aber verscheiben nicht

.. und wenn schon mal jemand in der Lage ist, das Wort "umbenennen" richtig zu schreiben, dann ist es eim heimlicher Verscheiber... *seufz*

Grüße Biber
[/OT]
Bitte warten ..
Mitglied: 60730
04.11.2010 um 11:24 Uhr
Salü,

Zitat von Kies-Krieger:
Habe das jetzt so:

:ProcessFile
set Nr=
for /f "tokens=2 delims=/" %%i in ('findstr ":25:" %~1') do if not defined Nr set Nr=%%i
if defined Nr ren %1 "%date%""_""%Nr%.%typ%"
if defined Nr if "%Nr"=="0009502509" move %1 "Firma1\%Nr%.*"
goto :eof

Umbenennen tut er die Datei. Aber verschreiben nicht ist ja auch kein zugelassenes Arztscript *scnr*

Dass lass uns das mal aufdröseln....

  • Alle Treffer landen als %1 in der call Schleife...
  • und die Treffer werden zuerst via ren umbenamst
  • jetzt heist Treffer nicht mehr "Treffer" - oder das was mit %1 übergeben wurde sondern...

Ergo?
01.
if defined Nr if "%Nr"=="0009502509" move %1 "Firma1\%date%_%Nr%.%typ%"
Nebenbei: Gibt es auch das Datumsformat YYYYMMDD

yupp - schau mal nach Bibers Tut - Batch Dateidatum

01.
if defined Nr if "%Nr"=="0009502509" move %1 "Firma1\%date:~-4%.%date:~-7,2%.%date:~-10,2%_%Nr%.%typ%"
@ SchraubenmeisterBiber:
Scheibenkleister
Bitte warten ..
Mitglied: Kies-Krieger
04.11.2010 um 11:26 Uhr
verscheiben in verschieben geändert.
Geht immernoch nicht ^^

Es grüßt der Kies-Krieger
Bitte warten ..
Mitglied: Kies-Krieger
04.11.2010 um 12:00 Uhr
Deine Änderung von move %1 "Firma1\%Nr%.*" in move %1 "Firma1\%date%_%Nr%.%typ%" hatte ich auch schon geändert. Allerdings geht es dennoch nicht. Ich weiß nicht warum. Da Du auch schreibst: Erst umbenennen und dann verschieben, gehe ich davon aus dass Du es wirklich so meinst, dass ich die Zeilen untereinander platziere.

Habe jetzt einfach mal Deine Zeile so reinkopiert - geht dennoch nicht. *grübel*

:ProcessFile
set Nr=
for /f "tokens=2 delims=/" %%i in ('findstr ":25:" %~1') do if not defined Nr set Nr=%%i
if defined Nr ren %1 "%date%""_""%Nr%.%typ%"
if defined Nr if "%Nr"=="0009502509" move %1 "Firma1\%date%_%Nr%.%typ%"
goto :eof
Bitte warten ..
Mitglied: 60730
04.11.2010 um 12:43 Uhr
moin,

lese das doch bitte genau - du hattest eine erweiterung und die lief nicht - ich hab dir das aufgemalt warum es so sein muß - das die erweiterung nicht lief....


if defined Nr ren %1 "%date%""_""%Nr%.%typ%"
benennt die Datei doch um - nach dieser Zeile ist die Datei nicht mehr unter Ihrem alten Namen vorhanden ....

Ergo - ich habe aus deinen zwei Zeilen eine gemacht.
if defined Nr if "%Nr"=="0009502509" move %1 "Firma1\%date:~-4%.%date:~-7,2%.%date:~-10,2%_%Nr%.%typ%"

sieht hybscher aus, als:
01.
if defined Nr ren %1 "%date%""_""%Nr%.%typ%" 
02.
if defined Nr if "%Nr"=="0009502509" move "%date%""_""%Nr%.%typ%" "Firma1\%date%_%Nr%.%typ%"
Das einzigste was daran schöner aussieht, sind die Codeblöcke - die du auch ignorierst

Gruß
Bitte warten ..
Mitglied: Kies-Krieger
04.11.2010 um 13:02 Uhr
Tut mir leid, wenn ich Dich so nerve!

Habe natürlich auch den Fall ausprobiert, dass ich die Zeile mit dem ren entferne und nur Deine Zeile nehme. Gleich zu Beginn. Udn das hatte nicht funktioniert. Deshalb kam ich irgendwann auf die Idee, dass Du es doch so meinen könntest, dass man die ren Zeile drin lassen muss. Deshalb auch noch einmal mein Nachfragen. Tut mir leid, wenn ichs nicht gleich verstanden habe.

Dann habe ich versucht den Fehler in Deiner Zeile zu finden. Aber leider auch ohne Erfolg bisher. Nach "Batch Dateidatum" habe ich hier ebenfalls versucht zu suchen. Auch ohne Erfolg weil er seit ner halben Stunde schreibt, dass das System gerade ausgelastet sei.

Und dass ich die Codeblöcke ignoriere stimmt nicht. Ich wusste nur nicht wie es geht. Aber bei all meinen Fragen habe ich ausnahmsweise mal diese nach den Codeblöcken nicht auch noch gestellt. Auch hierfür bitte ich um Entschuldigung. Das nächste mal stelle ich noch mehr Fragen.

Ich versuche weiter den Fehler zu finden. Danke für die Hilfe bis hierhin!

Gruß
Bitte warten ..
Mitglied: Biber
04.11.2010 um 13:28 Uhr
Moin Kies-Sieber,

Zitat von Kies-Krieger:
Tut mir leid, wenn ich Dich so nerve!
Mach dir keine Sorgen - noch ist T-Mo gar nicht genervt.
Für seine Verhältnisse ist er noch in der devoten Phase.

Bleib also auch du relaxed - wir kommen ja der Sache immer näher.

2 Tipps von mir:
  • Die "Codeformatierung" ist nun nichts so Aufregendes - einfach den Code in "< code > " und "</ code >" -Tags setzen.[jeweils ohne Leerzeichen in den Tags]. Details siehe in unseren FAQ unter "Formatierungshilfen".

  • Die von T-Mo angedeuteten Tutorials findest du, wenn du auf mein Profil klickst. Da sind die "Workshop Batch for Runaways"-Tuts sichtbar.

Grüße
Biber
Bitte warten ..
Mitglied: Kies-Krieger
04.11.2010 um 13:40 Uhr
@Biber:
Merci! - Deine Tips werden ab sofort umgesetzt!
Bitte warten ..
Mitglied: 60730
04.11.2010 um 13:43 Uhr
Moin,

jetzt hab ich mal grob getestet
edit:
das einzig ärgerliche ist - das ich dachte : aah das Script sieht nach bastla aus, datt läuft und nicht genauer hingesehen habe und u.a deswegen das Frage und Antwortspielchen hier viel zu lang für das Problem wurde.
/edit

edit²
getestet - nur ohne zu wissen - ob Konto & Firma so passen
[edit³] passten nicht - daher kurz und schmerzlos...[/edit³]
Bitte warten ..
Mitglied: Kies-Krieger
04.11.2010 um 14:13 Uhr
OK Ich versuche mal das ganze nicht noch schlimmer zu machen und schreibe Dir, was ich habe:

Meine Batch-Datei sieht so aus:
01.
set "Ordner=D:\STADaten" 
02.
set "Typ=sta" 
03.
 
04.
pushd "%Ordner%" 
05.
for /f "delims=" %%f in ('dir /b /a-d *.%Typ% 2^>nul') do call :ProcessFile "%%f" 
06.
goto :eof 
07.
 
08.
:ProcessFile 
09.
set Nr= 
10.
for /f "tokens=2 delims=/" %%i in ('findstr ":25:" %~1') do if not defined Nr set Nr=%%i 
11.
if defined Nr ren %1 "%date%""_""%Nr%.%typ%"   
12.
goto :eof
Meine STA-Datei sieht so aus:
01.
:20:STARTUMSE 
02.
:25:62050000/0009502509 
03.
:28C:00000/001
Wenn ich das Script nun laufen lasse, dann benennt er die STA-Datei korrekt um!

Die Daten in Zeile :25: der STA-Datei bedeuten:
:25:Bankleitzahl/Kontonummer

Eine zusätzliche Anforderung sollte nun sein, dass er die Kontonummer erkennt und dann die STA-Datei in ein bestimmtes Verzeichnis verschiebt.

Wie muss ich jetzt die Zeile
01.
if defined Nr ren %1 "%date%""_""%Nr%.%typ%" 
abändern, damit hier die Prüfung auf die Kontonummer erfolgt und anschließend die Datei in ein bestimmtes Verzeichnis verschoben wird?
Bitte warten ..
Mitglied: 60730
04.11.2010 um 14:25 Uhr
vergess das mit den klammern um die Schleife, liegt am schlechten Kaffee....

Zitat von Kies-Krieger:
OK Ich versuche mal das ganze nicht noch schlimmer zu machen und schreibe Dir, was ich habe:

Die Daten in Zeile :25: der STA-Datei bedeuten:
:25:Bankleitzahl/Kontonummer
Eine zusätzliche Anforderung sollte nun sein, dass er die Kontonummer erkennt und dann die STA-Datei in ein bestimmtes Verzeichnis verschiebt.

Wie muss ich jetzt die Zeile
01.
if defined Nr ren %1 "%date%""_""%Nr%.%typ%" 
abändern, damit hier die Prüfung auf die Kontonummer erfolgt und anschließend die Datei in ein bestimmtes Verzeichnis verschoben wird?

  • Angenommen Konto 0009502509 gehört zu Firma1 und der Unterordner Firma1 existiert, dann
01.
if defined Nr if "%Nr%"=="0009502509" move %1 "firma1\%date%""_""%Nr%.%typ%"
Gruß

zusammen:
01.
set "Ordner=D:\STADaten"  
02.
set "Typ=sta" 
03.
cd /d "%Ordner%" 
04.
for %%f in (*.%Typ%) do call :ProcessFile "%%f" 
05.
goto :eof 
06.
 
07.
:ProcessFile 
08.
 
09.
set Nr= 
10.
for /f "tokens=2 delims=/" %%i in ('findstr ":25:" %1') do ( 
11.
 if not defined Nr set Nr=%%i 
12.
 if defined Nr if "%%i"=="0009502509" move %1 "Firma1\%date:~-4%.%date:~-7,2%.%date:~-10,2%_%%i.%typ%" 
13.
 if defined Nr if "%%i"=="0009502508" move %1 "Firma2\%date:~-4%.%date:~-7,2%.%date:~-10,2%_%%i.%typ%" 
14.
15.
goto :eof
Bitte warten ..
Mitglied: Kies-Krieger
04.11.2010 um 14:25 Uhr
@Timo:

Habe Dein Script erfolgreich getestet! Jetzt müsste es nur so sein, dass er die Kontonummer nimmt statt die Bankleitzahl. Bin am testen, aber wahrscheinlich hast Du es eher als ich.

Gruß
Bitte warten ..
Mitglied: Kies-Krieger
04.11.2010 um 14:34 Uhr
@Timo:

Die Sonne geht auf und ich kann Gott sehen!

DANKE!!!

Es funktioniert! Es funktioniert! ET telefoniern nach Haus!!!!!!!!!!!
Bitte warten ..
Mitglied: 60730
04.11.2010 um 14:37 Uhr
Zitat von Kies-Krieger:
@Timo:

Die Sonne geht auf und ich kann Gott sehen!

DANKE!!!

Es funktioniert! Es funktioniert! ET telefoniern nach Haus!!!!!!!!!!!

Dann bitte dem Fred den Mortadellafarbenen Siemenslufthaken anreichen
Bitte warten ..
Neuester Wissensbeitrag
Ähnliche Inhalte
Microsoft Office
gelöst Per VBA im Verzeichniss dateien mit Wildcard umbenennen (4)

Frage von usenussi zum Thema Microsoft Office ...

Windows 7
gelöst Mehrere Dateien in Windows umbenennen mit Batchjob (4)

Frage von Jeduja zum Thema Windows 7 ...

Batch & Shell
gelöst Verschieben und Umbenennen von Video-Dateien anhand der Nummer im Namen (3)

Frage von Foja.Filmer zum Thema Batch & Shell ...

Batch & Shell
gelöst Dateien eines Ordners mit find welche 1234 im Namen haben umbenennen in x12345 (4)

Frage von reissaus73 zum Thema Batch & Shell ...

Heiß diskutierte Inhalte
Windows Userverwaltung
Ausgeschiedene Mitarbeiter im Unternehmen - was tun mit den AD Konten? (33)

Frage von patz223 zum Thema Windows Userverwaltung ...

LAN, WAN, Wireless
FritzBox, zwei Server, verschiedene Netze (21)

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

Viren und Trojaner
Aufgepasst: Neue Ransomware Goldeneye verbreitet sich rasant (20)

Link von Penny.Cilin zum Thema Viren und Trojaner ...

Windows Netzwerk
Windows 10 RDP geht nicht (18)

Frage von Fiasko zum Thema Windows Netzwerk ...