Kopieren per Batch, Dateiname aendert stetig
Hallo erstmal zusammen,
ich bin schon eine ganze Weile auf administrator.de unterwegs und habe mich auf die Suche nach einer Lösung für mein Problem gemacht. Es sind schon einige Lösungsansätze da, die mir sicherlich helfen könnten, nur schaffe ich es nicht, dies zu realisieren.... vielleicht stehe ich auch nur auf dem Schlauch.
Info vorab:
Ich nutze Windows Vista Business, SP 1 32bit.
Ziel ist es, dass ich jede Woche am Freitag eine Datei von einem Netzlaufwerk auf meinen lokalen Rechner übertragen will. Diese Datei wird umbenannt und auf einen FTP-Server hochgeladen, wo sie die alte Datei überschreibt. Den Part mit dem FTP Server und dem Hochladen habe ich bereits erledigt.
Die Datei, welche vom Netzlaufwerk auf meinen Rechner übertragen wird hat in etwa folgendes Schema:
text25.htm <---- die 25 steht hier für die Kalenderwoche.
Hier ist auch das Problem. Die Kalenderwoche ist natürlich jeden Freitag zur Übertragung eine andere, zählt also um 1 hoch. Mit einem VB Script konnte ich jetzt die Kalenderwoche auslesen und an meine Batch übergeben:
'----snipp KalWo.vbs
Wscript.Echo DatePart("ww",Date,vbSunday,vbFirstFourDays)
'------snapp KalWo.vbs
Hier dann meine bisherige Batchdatei(KalWo ist natürlich das VBScript, das im selben Ordner liegt):
@echo off
for /f "tokens=1" %%a in ('cscript //nologo KalWo.vbs') do set kw=%%a
echo %kw%
pause
copy Y:\HOMEPAGE\text(kw).htm c:\web\
ftp -s:dateiftp.ftp
Ich müsste also praktisch nur noch die Variable für die Kalenderwoche an den Dateinamen für den Copybefehl übertragen.
Ist das so überhaupt realisierbar?
Ich hoffe, dass ich zumindest die richtige Denkweise habe, ansonsten darf man mich gerne eines Besseren belehren.
Vielen Dank schonmal im Voraus und freundliche Grüße
Shirash
ich bin schon eine ganze Weile auf administrator.de unterwegs und habe mich auf die Suche nach einer Lösung für mein Problem gemacht. Es sind schon einige Lösungsansätze da, die mir sicherlich helfen könnten, nur schaffe ich es nicht, dies zu realisieren.... vielleicht stehe ich auch nur auf dem Schlauch.
Info vorab:
Ich nutze Windows Vista Business, SP 1 32bit.
Ziel ist es, dass ich jede Woche am Freitag eine Datei von einem Netzlaufwerk auf meinen lokalen Rechner übertragen will. Diese Datei wird umbenannt und auf einen FTP-Server hochgeladen, wo sie die alte Datei überschreibt. Den Part mit dem FTP Server und dem Hochladen habe ich bereits erledigt.
Die Datei, welche vom Netzlaufwerk auf meinen Rechner übertragen wird hat in etwa folgendes Schema:
text25.htm <---- die 25 steht hier für die Kalenderwoche.
Hier ist auch das Problem. Die Kalenderwoche ist natürlich jeden Freitag zur Übertragung eine andere, zählt also um 1 hoch. Mit einem VB Script konnte ich jetzt die Kalenderwoche auslesen und an meine Batch übergeben:
'----snipp KalWo.vbs
Wscript.Echo DatePart("ww",Date,vbSunday,vbFirstFourDays)
'------snapp KalWo.vbs
Hier dann meine bisherige Batchdatei(KalWo ist natürlich das VBScript, das im selben Ordner liegt):
@echo off
for /f "tokens=1" %%a in ('cscript //nologo KalWo.vbs') do set kw=%%a
echo %kw%
pause
copy Y:\HOMEPAGE\text(kw).htm c:\web\
ftp -s:dateiftp.ftp
Ich müsste also praktisch nur noch die Variable für die Kalenderwoche an den Dateinamen für den Copybefehl übertragen.
Ist das so überhaupt realisierbar?
Ich hoffe, dass ich zumindest die richtige Denkweise habe, ansonsten darf man mich gerne eines Besseren belehren.
Vielen Dank schonmal im Voraus und freundliche Grüße
Shirash
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 90031
Url: https://administrator.de/contentid/90031
Ausgedruckt am: 22.11.2024 um 10:11 Uhr
10 Kommentare
Neuester Kommentar
Moin und willkommen.
Du hast es doch schon fast geschafft.
bzw. wenn die alte datei eh gelöscht wird, reicht auch
Du hast es doch schon fast geschafft.
copy Y:\HOMEPAGE\text%kw%.htm c:\web\
bzw. wenn die alte datei eh gelöscht wird, reicht auch
copy Y:\HOMEPAGE\text*.htm c:\web\text.htm
?
ok - dann lass doch bitte das echo off mal weg und schaue, was passiert.
wenn ich das bei mir laufen lasse und in dem Ordner eine text25.htm liegt - hab ich später auch eine text25.html
edit:
Nein, er würde in dem Fall aus allen eine machen, was ja auch nicht der Sinn ist.
ok - dann lass doch bitte das echo off mal weg und schaue, was passiert.
rem @echo off
for /f "tokens=1" %%a in ('cscript //nologo KalWo.vbs') do set kw=%%a
echo %kw%
copy text%kw%.htm *.html
wenn ich das bei mir laufen lasse und in dem Ordner eine text25.htm liegt - hab ich später auch eine text25.html
edit:
Die zweite Vartiante würde zwar so funktionieren, jedoch sind mehrere Dateien auf dem Netzlaufwerk, die text(Kalenderwoche).htm heißen...
d.h. er würde ja dann stets alle übertragen.
d.h. er würde ja dann stets alle übertragen.
Nein, er würde in dem Fall aus allen eine machen, was ja auch nicht der Sinn ist.
Moin Bastla
ich tippe darauf, daß derjenige - der die htm erzeugt noch schläft und es dort nur die text24.htm gibt *flitz*
ich tippe darauf, daß derjenige - der die htm erzeugt noch schläft und es dort nur die text24.htm gibt *flitz*
aha..
na dann "Asta la Vista" ;-(
lass das mal laufen - steht nun 25:25 oder 25 : 25 vor der Pause?
Kopiert er es "so?
edit:
ärgs - so einfach...
man nehme einfach eine Kombination, von dem, was ich als erste Antwort geschrieben habe und kriegt folgendes raus:
copy Y:\HOMEPAGE\text%kw%*.htm c:\web\
Alternativ geht natürlich auch:
copy Y:\HOMEPAGE\text%kw%?.htm c:\web\
na dann "Asta la Vista" ;-(
rem @echo off
for /f "tokens=1" %%a in ('cscript //nologo KalWo.vbs') do set kw=%%a
echo %kw%:%kw%
pause
copy "text%kw%.htm" *.html
lass das mal laufen - steht nun 25:25 oder 25 : 25 vor der Pause?
Kopiert er es "so?
edit:
ärgs - so einfach...
man nehme einfach eine Kombination, von dem, was ich als erste Antwort geschrieben habe und kriegt folgendes raus:
copy Y:\HOMEPAGE\text%kw%*.htm c:\web\
Alternativ geht natürlich auch:
copy Y:\HOMEPAGE\text%kw%?.htm c:\web\