mrsonei6
Goto Top

Batch script gesucht mit dem man vorhandenen Dateinamen erweitert zb von hallo.pdf auf 123hallo.pdf

zb ich habe den dateinamen

hallo.pdf und ich möchte dur einen bachbefehl daraus

123_1234_123#hallo.pdf machen

zb ich habe den dateinamen "hallo.pdf" und ich möchte durch einen bachbefehl daraus "123_1234_123#hallo.pdf" machen

Sprich ich müsste so zu sagen den Datei namen auslesen, ihn dann in einer variabeln speichern und diese variabele dann mit dem 123_123_123# erweitern und dann den namen komplet erneuern?
Anschließend sollte die alte hallo.pdf gelöscht werden.
Das geht dann ja einfach mit del nur bräucht ich dan den dateinamen wieder.

Ich hab schon alles versucht was in der macht eines newbies steht.
Ich komm nicht mal ansatzweise dahin wo ich hin will

das sollte doch eigentlcih auch ein einfacher rename befehl können hab ich mir gedacht. Ich habs nicht geschaft

Währe echt super wenn mir einer helfen kann

danke
LG
ich

Content-Key: 120464

Url: https://administrator.de/contentid/120464

Printed on: April 24, 2024 at 06:04 o'clock

Member: pieh-ejdsch
pieh-ejdsch Jul 14, 2009 at 19:58:52 (UTC)
Goto Top
Hallo @MrSonei6,

In welchen Verzeichnis ist die hallo.pdf?

Soll die pdf nun gelöscht werden oder umbenamst?

sollen mehrere pdf umbenamst werden oder nur eine

for /f "tokens=*" %i in ('dir "D:\Verzeichnis\hallo.pdf"') do ren "%~i" "123_1234_123#%~nxi"  


nur diese
ren "D:\Verzeichnis\hallo.pdf" 123_1234_123#hallo.pdf  
Member: MrSonei6
MrSonei6 Jul 15, 2009 at 07:48:00 (UTC)
Goto Top
Hallo

wenn ich vorher den namen der PD schon wüsste könnte ich es schon so machen mit rename.

PRoblem ist nur das ich die PDF mit FreePDF_xp erstellen lasse und somit hat jede PDF einen anderen Namen.
Spich FreePDF speichert die erstellte PDF mit dem Doc namen zwischen in C:\zwischenspeicher

und von dem ordner aus möchte ich eine batch die den Deiteinamen auslest und ihn dan erweitert.
Danach startet der ftp uploade und danach wird die pdf wieder gelöscht (diese Punkte funktionieren schon)

Ich such e also einen befehl der den PDF namen erst auslest und diesen dann erweitert und unter der selben datei wieder abspeichert
das nicht 2 PDF in dem ordner enthalten sind so zu sagen.

Weißt du was ich mein?
Member: MrSonei6
MrSonei6 Jul 15, 2009 at 08:34:43 (UTC)
Goto Top
Ich hab raus gefunden das man ich mit diesen befehl

dir C:\zwischenspeicher\*.pdf > C:\Programme\FreePDF_XP\PDF_NAME.txt

den PDF namen zumindest schon mal in eine Datei bringen kann. Problem in der datei stehen mehrere informationen hier müsste ich dann irgendwie wieder den Dateinamen rausfiltern. Es nimmt einfach kein end ;)

in der date steht dann folgendes:

Volume in Laufwerk C: hat keine Bezeichnung.
Volumeseriennummer: xxxxx-xxxx

Verzeichnis von C:\zwischenspeicher\

14.07.2009 15:17 0 twest.pdf
1 Datei(en) 0 Bytes
0 Verzeichnis(se), xxx.xxxx.xxxx.xxx Bytes frei


Bin ich so auf dem richtigen weg der geht es viel einfacher den dateinnamen auszulesen?
Ich muss ihn ja jetzt schon wieder auslesen von der txt hat mir also nichts gebracht oder?
Mitglied: 60730
60730 Jul 15, 2009, updated at Oct 18, 2012 at 16:38:46 (UTC)
Goto Top
Servus,

bitte löschen - solange dir da noch keiner geantwortet hat - ist das auch problemlos möglich.

Ist schon "schlimm" genug - wenn es von verschiedenen Schreibern fast oder komplett identische Fragen gibt - aber bei dem gleichen Benutzer hört der "Spass" auf face-wink
Doppelposting nennt der "Fachidiot" in mir diese Variante - des Hilferufes. und eigentlich wäre das ja schon ein Grund dir nicht "weiter"zuhelfen ....

Wobei hier gerne Hilfe zur Selbsthilfe und nicht das Vorkauen praktiziert werden soll.
Ich hoffe - du verstehst was ich meine face-wink

for /f "tokens=*" %i in ('dir /b "D:\Verzeichnis\*.pdf"') do ren "%~i" "123_1234_123#%~nxi"

Ist doch schlussendlich bis auf das zusaätzliche /b und * statt "Hallo" genau das was du willst.
Und wenn du das in einer Batch haben willst - dann für jedes einzelne % noch einz dazu %%.

Ich hab raus gefunden das man ich mit diesen befehl
face-wink yupp - aber derjenige - der diese zeile irgendwo hinterlassen hat - hat doch bestimmt auch den Parameter /b dabei gehabt?

Gruß
& sorry aber Kritik gibts bei mir immer in konstruktiver Art, aber doppelter Dosis - ich weiß face-wink
Member: MrSonei6
MrSonei6 Jul 15, 2009 at 20:10:06 (UTC)
Goto Top
Hi ich dacht mir weil ich hier geschrieben hab das man die Datei auslesen müsste und dann mit dem Parameter die Datei verlängern muss und dann wieder in den Dateinamen einfügen sollt ist alles n wenig kompliziert.
Bin dann darauf gekommen das ich ja eigentlich den Dateinamen gar nicht auslesen brauch und deshalb hab ich den zweiten Threed aufgemacht weil ja dort die Fragestellung ohne Datei auslesen war.

Ich hab aber deine Kritik (übrigends danke, bin immer offen für gute Kritik) folgegeleistet. Der threed ist gelöscht.
Aber diene Botschaft ist angekommen, DANKE vielen Dank!!!!!

Ich danke dir dein befehl funktioniert. Leider versteh ich ihn nicht aber er funktioniert
Member: MrSonei6
MrSonei6 Jul 16, 2009 at 06:34:07 (UTC)
Goto Top
Guten Morgen Timo,

habs gerade noch mal getestet und es funktioniert auch aber nur solange die bat und die pdf in einen ordner liegen.

Bei mir ist es so das die bat in "C:\Programme\FreePDF_XP\Skript\Profile1"
und die PDF in C.\PDF

kannst du mir noch mal helfen?
Member: MrSonei6
MrSonei6 Jul 16, 2009 at 07:03:11 (UTC)
Goto Top
ich konnte deinen COde nicht so umbauen das es funktioniert ;)

Ich habs jetzt ganz einfach mit
cd Pfad
dein script
cd alter pfad gemacht

;)
Member: Biber
Biber Jul 16, 2009 at 07:16:33 (UTC)
Goto Top
Moin MrSonei6,

Zitat von @MrSonei6:
ich konnte deinen COde nicht so umbauen das es funktioniert ;)

Ich habs jetzt ganz einfach mit
cd Pfad
dein script
cd alter pfad gemacht

Ja, gut gemeint, aber etwas zeitgemäßer und sicherer (wg. Berücksichtigung Laufwerksänderung)
ist das Befehlspärchen PushD/PopD.

Siehe jeweils "PopD /?" bzw. "PushD /?" am CMD-Prompt.

Grüße
Biber