Clever-Excel-Forum

Normale Version: Skript erstellen
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Seiten: 1 2
Hallo Community, 

ich möchte ein Skript erstellen, dieser kann aus egal welcher Datei bestehen (zB batch Datei), Hauptsache es führt die Befehle richtig aus. 
Leider weiß ich gar nicht wo ich anfangen soll zumal ich auch ein absoluter Anfänger in dem Bereich bin.. 

Das Skript soll in einem Ordner die erste bzw. älteste Datei finden, diese auswählen, umbenennen, danach in ein anderen Ordner verschieben und ihn ein weiteres mal umbenennen.

Gibt es jemanden der mir diesbezüglich behilflich sein kann?  Confused
Hallo,


Zitat:Leider weiß ich gar nicht wo ich anfangen soll


... dann sind wir schon zu zweit, aber wenn wir warten, dann wird die Summe sicherlich anwachsen.

Später: sorry, da habe ich offensichtlich nicht exakt gelesen.
Das Skript soll in einem Ordner die erste bzw. älteste Datei finden, diese auswählen, umbenennen,
danach in ein anderen Ordner verschieben und ihn ein weiteres mal umbenennen.


Aber, ... Da Du die ursprüngliche Anfrage geändert hast .... Du Schlingel, Du
Hallöchen,

ist da nicht ein Schritt nur ABM?

Zitat:Das Skript soll in einem Ordner die erste bzw. älteste Datei finden, diese auswählen, umbenennen, danach in ein anderen Ordner verschieben und ihn ein weiteres mal umbenennen.


1x umbenennen sollte doch reichen?

Hier mal der Schritt mit dem Umbenennen für eine bat:

@echo off
for /F "tokens=*" %%* in ('dir c:\test /b /o-d /a-d') do set file=%%*
rename "%file%" "tester.pdf"

Das file sollte dann natürlich auch eine pdf sein bzw. die Erweiterung zur vorherigen Datei passen. Ansonsten sollte auch "tester.*" funktionieren.
Hallöchen,

hierher hat sich diese Anfrage also verpieselt  :16:
Ich habe das Teil zwar gesucht, aber nicht wiedergefunden.
Hey @schauan, erstmal danke für deine Hilfe! Kannst du mir evtl die Bedeutung der einzelnen Befehle erklären?

Habe noch das hier gefunden: 

@echo off
setlocal enableextensions
pushd c:\test
FOR /f "delims=" %%g IN ('DIR /b /a-d /o-d /tw') DO (
SET zold=%%g 
SET zoldname=%%~ng
)
move /y %zold% C:\Another\Location\%zoldname%.bat
popd
exit /b 


Problem: Mir sagen auch hier paar Befehle nichts.. dazu gehört:
"delims=" %%g IN ('DIR /b /a-d /o-d /tw') DO (
SET zold=%%g  
SET zoldname=%%~ng

Wozu das z vor dem old? Was für ne Bedeutung hat %%g, DIR /b /a-d /o-d /tw?
Hallöchen,

mache mal ein cmd auf und gibt help for ein, da steht recht viel dazu,

gleich ziemlich am Anfang auch diese Teilantwort:
Um den FOR-Befehl in einem Batchprogramm zu verwenden, geben Sie %%Variable
statt %Variable an.

und weiter unten
delims=xxx - Gibt einen Satz von Trennzeichen an. Diese ersetzen
die Standardtrennzeichen TAB und Leerzeichen.

Irgendwo in der Hilfe stehen auch %~ - Optionen



die Optionen vom Dir - Befehl findest Du bei help dir.
… ebenso pushd

Das z hat ix besonderes zu sagen, es geht z.B. um die Variable zold. Hätte man auch Zuckerbrot nennen können oder Salzstange Smile
Werd ich machen. danke für den Hinweis. 

Hab jetzt mal versucht den Code den ich hier gepostet habe einmal auszuführen, bekomme aber ein Syntaxfehler und weiß nicht woran es liegen könnte... wo ist der Abschnitt im Code womit ich die Datei umbennen kann? Ich muss ja irgendwo eintragen wonach es umbenannt wird.. in %zold% und %zoldname% vllt ? 

Nochmal der Code genauso, wenn ich es ausführen möchte: 
@echo off
setlocal enableextensions
pushd c:\test
for /f "delims=" %%g IN ('DIR /b /a-d /o-d /tw') do (
set zold=%%g
set zoldname=%%~ng
)
move /y %zold% C:\test 2\%zoldname%.bat

popd

pause

exit /b


Die Datei soll von c:\test zu c:\test2. Was mache ich hier falsch? Wo ist der Syntaxfehler und wo genau muss ich etwas ergänzen? Ich habe schon etwas herum experimentiert aber bin zu keiner Lösung gekommen 
Problem gefunden und behoben, nun habe ich zum umbenennen der Datei am Ende dieser Zeile
Code:
"%zold%" "C:\test 2\%zoldname%.bat"
vor dem .bat ein beliebiges Wort ergänzt. Es funktioniert. Das einzige was mir jetzt noch fehlt ist das umbenennen der Datei bevor dieser überhaupt verschoben wird. Dazu habe ich den Befehl ren [drive:][path]TargetMask hinzugefügt um nachzuschauen obs funktioniert. Die Datei wird leider nicht umbenannt bevor sie verschoben wird. Den Befehl habe ich einfach mal an unterschiedlichen Positionen ausprobiert und ein wenig herumexperimentiert. Passieren tut aber nichts
Hallo Himmet,

warum willst DU denn eine Datei umbenennen und anschließend beim verschieben nochmal umbenennen? Die erste Umbenennung ist doch dann am Ziel nicht mehr zu sehen?
Hellou schauan,

Mein Chef hat es mal kurz angeschnitten gehabt wieso und weshalb aber viel verstanden hab ich davon jetzt ehrlich gesagt nicht... also mach ich einfach dat was er mir sagt mit der Hoffnung im nachhinein zu sehen was er mit der Datei eigentlich vor hat. 
Seiten: 1 2