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

Kopieren per Batch, Dateiname aendert stetig

Frage Entwicklung Batch & Shell

Mitglied: Shirash

Shirash (Level 1) - Jetzt verbinden

17.06.2008, aktualisiert 15:42 Uhr, 5415 Aufrufe, 10 Kommentare

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
Mitglied: 60730
17.06.2008 um 12:31 Uhr
Moin und willkommen.
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
Bitte warten ..
Mitglied: Shirash
17.06.2008 um 12:45 Uhr
Vielen Dank für die schnelle Antwort.

Bei deiner oberen Lösung kommt die Fehlermeldung, dass das System die angebebene Datei nicht finden kann.

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.

Deswegen auch die Sache mit der Kalenderwoche, die zwingend Bestandteil des Copy-Befehls sein muss.
Bitte warten ..
Mitglied: 60730
17.06.2008 um 12:55 Uhr
?

ok - dann lass doch bitte das echo off mal weg und schaue, was passiert.

01.
rem @echo off 
02.
for /f "tokens=1" %%a in ('cscript //nologo KalWo.vbs') do set kw=%%a 
03.
echo %kw% 
04.
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.

Nein, er würde in dem Fall aus allen eine machen, was ja auch nicht der Sinn ist.
Bitte warten ..
Mitglied: bastla
17.06.2008 um 14:14 Uhr
... kann es sein, dass der Dateiname "text(25).htm" und die entsprechende Zeile daher
01.
copy Y:\HOMEPAGE\text(%kw%).htm c:\web\
lauten sollte?

Grüße
bastla
Bitte warten ..
Mitglied: 60730
17.06.2008 um 14:19 Uhr
Moin Bastla

ich tippe darauf, daß derjenige - der die htm erzeugt noch schläft und es dort nur die text24.htm gibt *flitz*
Bitte warten ..
Mitglied: Shirash
17.06.2008 um 14:26 Uhr
So, hallo nochmal,

das Entfernen des echo hat geholfen...

Ich bekomme folgende Ausgabe:

c:\web\kwtest\set kw=25

c:\web\kwtest>copy c:\web\kwtest\text25 .htm c:\web\kwtest\indexdatei.htm
Das System kann die angegebene Datei nicht finden.

Wie ihr sehen könnt, wird hinter der Variablen ein Leerzeichen eingefügt, weswegen wohl auch die Datei nicht gefunden wird. Ich frage mich allerdings, wie dieses da dann hinkommt.
Bitte warten ..
Mitglied: 60730
17.06.2008 um 14:32 Uhr
aha..

na dann "Asta la Vista" ;-(


01.
rem @echo off 
02.
for /f "tokens=1" %%a in ('cscript //nologo KalWo.vbs') do set kw=%%a 
03.
echo %kw%:%kw% 
04.
pause 
05.
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\
Bitte warten ..
Mitglied: Shirash
17.06.2008 um 14:46 Uhr
So...

Das echo spuckt mir 25 :25 aus.. also weiterhin mit einem Leerzeichen hinter der Variable.

Es wird also ebenfalls nicht kopiert, selbst mit den Anführungszeichen.

Als ich jedoch die Datei spaßeshalber umbenannt hab...das Leerzeichen in den Dateinamen eingefügt habe, übernimmt er es und das Kopieren klappt.

Leider kann ich nicht jeder Kalenderwoche ein Leerzeichen in den Dateinamen einbauen *g*

Tante Edith:

HA! So klappt es auch wunderbar. Zwar keine Lösung um das Leerzeichen da wegzubekommen, aber so klappt es.

Ich danke dir von ganzem Herzen für den Eifer!
Bitte warten ..
Mitglied: Biber
17.06.2008 um 15:33 Uhr
Moin Shirash,

Zwar keine Lösung um das Leerzeichen da wegzubekommen
Versuch es so.
01.
... 
02.
for /f %%a in ('cscript //nologo KalWo.vbs') do set "kw=%%a" 
03.
...
Und die Anzeige der Variablen %kw% wird so sinnvoller.
01.
echo Kw:[%kw%]
Grüße
Biber
Bitte warten ..
Mitglied: Shirash
17.06.2008 um 15:42 Uhr
Das ist es.
Danke dir, Biber
Bitte warten ..
Neuester Wissensbeitrag
Microsoft

Lizenzwiederverkauf und seine Tücken

(5)

Erfahrungsbericht von DerWoWusste zum Thema Microsoft ...

Ähnliche Inhalte
Batch & Shell
gelöst Batch: Dateiname abhängig vom Änderungsdatum auslesen (6)

Frage von freaktastisch zum Thema Batch & Shell ...

Batch & Shell
CMD-Batch hilfe: Dateiname zu txt (2)

Frage von Syscore64 zum Thema Batch & Shell ...

Batch & Shell
gelöst Ordner per Batch verschieben, Datei kopieren (2)

Frage von Shape.Shifter zum Thema Batch & Shell ...

Heiß diskutierte Inhalte
Windows Netzwerk
Windows 10 RDP geht nicht (16)

Frage von Fiasko zum Thema Windows Netzwerk ...

Windows Server
Outlook Verbindungsversuch mit Exchange (15)

Frage von xbast1x zum Thema Windows Server ...

Microsoft Office
Keine Updates für Office 2016 (13)

Frage von Motte990 zum Thema Microsoft Office ...