Programmieren - alles kontrollieren 4.941 Themen, 20.708 Beiträge

Xcopy und ein Problem

Kolti / 9 Antworten / Baumansicht Nickles

Tja, nun mag ich nicht mehr probieren.
Ich will im Startvorgang in der autoexec.bat eine Datei in ein bestimmtes Verzeichnis kopieren. Das muß passieren, bevor Windows gestartet ist, denn wenn das Programm darauf zugreift, habe ich keine Möglichkeit der Änderung mehr. Wichtig dabei ist, daß die zu kopierende Datei überprüft wird, ob sie älter oder neuer ist. Nur wenn sie neuer ist, soll sie kopiert werden.


Also, Eintrag in der Autoexec.bat:


XCOPY Datei.neu Datei.alt /d


Der Parameter /d sorgt normalerweise dafür, daß eine Datumsüberprüfung stattfindet. Der Vorgang wird aber nicht ausgeführt, weil unter DOS dieser Befehl wegen zu vieler Parameter abgebrochen wird.


Ich brauche einfach ein paar Denkanstöße.


Danke, an alle, die sich nun auch Gedanken machen.


 

bei Antwort benachrichtigen
Borlander Kolti „Xcopy und ein Problem“
Optionen

Hallo Kolti,
das Problem liegt darin das die Datumsangabe fehlt.
Laut Hilfe wird ein Datum im amerikanischen Format (M-T-J) verlangt.

Die Anweisung müsste dann für heute also so aussehen:
XCOPY Datei.neu Datei.alt /d:07-06-02


Wenn Du jeden Tag das aktuelle Datum haben willst, kannst Du mit QBasic arbeiten:

In die Autoexec.bat kommt dann folgende Zeile:

%Pfad%\QBASIC /run c:\xcopyD.bas


xCopyD.bas

SHELL "XCOPY c:\Datei.neu c:\Datei.alt /d:" + Date$
SYSTEM



Ich hab das jetzt nicht ausprobiert. Sollte aber so funktionieren.


CU Borlander
bei Antwort benachrichtigen
Kolti Nachtrag zu: „Xcopy und ein Problem“
Optionen

Hi, Borlander.
Mit Deiner Erklärung für XCOPY /D:Datum liegst Du nicht ganz richtig. Wenn man hinter /d: das Datum wegläßt, dann vergleicht XCOPY die beiden Daten der Dateien. Wenn die eine neuer ist, dann wird kopiert, wenn gleich oder älter, dann nicht. Das ist der Default.
Ich praktiziere es mit Batch-Dateien, die ich aber unter Windows aufrufe. (Probiere es einfach mal aus.)
In der Autoexec.bat funktioniert dieses aber nicht, weil wahrscheinlich die Umgebung dafür noch nicht steht.

Dennoch danke für Deine Bemühungen.

bei Antwort benachrichtigen
Borlander Kolti „Xcopy und ein Problem“
Optionen

zu /d
Habe in der Hilfe nur den Parameter gesehen, den Text hätte ich mir besser auch durchlesen sollen. ;-) Qbasic kann man sich dann natürlich sparen.

Hast Du die Anweisung in der Autoexec.bat vor oder nach der Zeile
SET PATH=...

Wenn Du die Anweisung davor hast kann xcopy.com (die üblicherweise in %WINDIR%\Command liegt) nicht gefunden werden.


CU Borlander

bei Antwort benachrichtigen
Kolti Borlander „Xcopy und ein Problem“
Optionen

Der Befehl ist in der letzten Zeile der Autoexec.bat. Solche Sachen wie Set Path= usw. gibt es unter Win98 nicht mehr. Das läuft alles automatisch. Wenn ich den Parameter /d weglasse, dann mach er das ohne zu maulen.
Da xcopy die xcopy32.mod aufruft, kann ich mir vorstellen, daß es auf der DOS-Ebene noch nicht läuft.
Das funktioniert auch nicht, wenn ich im DOS-Modus starte.

XCOPY E:\"StarMoney 3.0"\*.sdy D:\Programme\"StarMoney 3.0"\Document\*.* /d

So sieht der Befehl im Original aus und er funktioniert, wenn ich unter Win die *.bat aufrufe.

bei Antwort benachrichtigen
Borlander Kolti „Xcopy und ein Problem“
Optionen

Probiers mal mit den kurzen 8+3 Dateinamen, mit langen kann das im DOS-Modus nicht funktionieren.

CU Borlander

bei Antwort benachrichtigen
Kolti Borlander „Probiers mal mit den kurzen 8 3 Dateinamen, mit langen kann das im DOS-Modus...“
Optionen

Ich weiß das. Ich habe das schon mit kurzen Dateinamen versucht. Der Parameter /d wird unter DOS nicht erkannt.
Der Parameter funktioniert nur im DOS-Fenster unter Windows, daher auch schnell Copy+Paste mit den langen Namen.
Trotzdem Danke für Deine unermüdliche Hilfe.

CU2 Kolti

bei Antwort benachrichtigen
Borlander Kolti „Ich weiß das. Ich habe das schon mit kurzen Dateinamen versucht. Der Parameter...“
Optionen

Hast Du es schon mal mit XCOPY32 versucht?
Hast Du XCOPY(32) mal mit kopletter Pfadangabe aufgerufen, also C:\Windows\Command\XCOPY(32) ...

CU Borlander

bei Antwort benachrichtigen
Kolti Borlander „Hast Du es schon mal mit XCOPY32 versucht?Hast Du XCOPY 32 mal mit kopletter...“
Optionen

Warum sollte ich?
Er sagt doch nicht, daß er den Befehl oder die Datei nicht gefunden hat.
Der Pfad ist unter DOS doch bekannt.
Er mault den Parameter an und nur den einen!

bei Antwort benachrichtigen
heimbeirath47 Kolti „Xcopy und ein Problem“
Optionen

Nochmal von vorn
Jetzt löscht NICKLES den IE-puffer auf my Kiste!! (Framewechsel)
(IE5.0 von redmond=r statt e in rechter ecke oben!)

Also im Normalfall wird die Bat zeilenweise bearbeitet!
Bei Dateien, die an Proggies übergeben (kotz) werden geht dat
verdammt schnell ([...] /play datei1.wav datei2.wav datei3.wav...)
ein hintereinander geht sooo nicht !
ein parallel nur mit 1 sinnvollen technik! (Mehrfach-3-bär / MIXER)

Soo && da wir in DEUtschland leben & bereitz die Config.süß-Zone verlassen haben, haben wir entweder den classicer >keyboard.sys oder
for x. K-Drive.sys oder.exe geladen (TSResident)!
Jetzt müß das Datumsformat so lauten, wie auf einem deutschen Kahlender for x. 33-04-1998 ! Also Jahreszahl 4-stellig!
(oder so, wie der tastatüre-3-bär das Datum setzt! falls im Ausland... )
Lange Dateinamen können in Führungszeichen gesetzt werden & zwar
so logisch wie möglich! for x T:\xcopy32 /d:33-04-1998 /e /s /a /m /z /l:x /garnix /buffer=99 "daten_ EI 1.txt" "F:\Franks ORNUNGshalber\Sicherheiß _EI\daten _alt.txt"
also zusammenfassen kompletter Pfad für jede! Datei in Führungszeichen
um voreilige Int'z zu vermeiden! Jedes Leerzeichen kann als Übergang zur Interpretation dienen!
Falls ein Verzeichnis copiert werden muß, muß /e & /s gesetzt sinn
/e copiert Unterverz's & /s auch dann, wenn diese leer/hohl sinnd!
/a ist für archive züständig & /m setzt dat archiv atribbüttl wieder
weg! beim Durchgang!
/l:x als Arbeizverz. ist natürlich quatsch aber kommt öfter als dokumentiert!
/z (??? Gibt es Dummy -Switches?)
Tatsächlich existen 2 Versionen X'se! Xcopy32, wie der Name anmutet
für 32-Bit-burger Betriebssyteme & Xcopy ohne 32-Tag für alle Dos-Abarten! Bei mir kommen beide Befehle mit Windoof & der Aufruf von
X ohne 32 verzweigt automatisch nach xcopy32 ! Wahnsinn
what solls auch anders? Sollte Win funzen??
Überlange Dateinamen werden tatsächlich ignoriert oder anders g-inted,
wie man es vermuten könnte! auch Groß & Klein (Kapitale Letters) sinn
beachtenzwert!
Das Problem lößt man am besten mit dem lfn-3-Bär aus der ZIFF-Ärea
www.zd-net.de (WEKA-Zeitschriftengruppe) & befindet sich auf der Tüning-CD 98 (nicht1998)
noch besser gehtz, wenn man 4dos installt! Auf der gleichen CD!
(Shareware)
Hier muß dann der lfn-3-bär weggelassen werden!
4Dos bedient beide Varianten kurz & lang & legt irgendein Header an....
Achja 1 Hilfemenü in Handbuch-Umfang ist auch dabei!

Naja & bei mir hat sich dat "driver.sys" an'gsteckt !
Bei mir in Config.sys ncht ladbar, wie in HIGH-Screnn DOS 5.0 Büch
beschrieben! Schade auch devicehigh=driver.sys /l:0 /f:3 bringt nix
Das dat teil im gleichen Ordner, wie setver zu stehen hat ist mee
klar !! Auch eine Doppelzuweiseung 2 Disk's a 2,88M 3,5" geht nicht!
CD auf DISK verkleinern Wunschdenken!

P.S.: Sagt mir bitte nicht sowas, wie der Bus kimmt um 'halb!
Dan kontere ich dem Rentner-Deutsch mit: Has he a halbe Versorgungswagen dabei??

Heimbeirath47

bei Antwort benachrichtigen