an-wei
Goto Top

kix copy parameter

hallo zusammen,
ich habe eine frage zu kix und seinem copy befehl. so wirklich was gefunden habe ich bisher nicht.

ich moechte eine datei von a nach b kopieren. die vorhandene datei in b soll ueberschrieben werden, ohne vorher geloescht zu werden. ich habe unter scriptlogic.com nur die moeglichkeit gefunden, schreibgeschuetzte dateien zu ueberschreiben.

grund ist der, wenn die quelldatei, aus welchen grund auch immer, nicht zur verfuegung steht, soll die vorhandene datei erhalten bleiben. vielleicht hat jemand einen tip fuer mich; vielen dank im voraus.

andré

Content-Key: 96708

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

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

Member: superboh
superboh Sep 11, 2008 at 20:15:22 (UTC)
Goto Top
Hallo,

also in der Beschreibung zum Copy-Kommando in Kix steht folgendens:

"If a file already exists at the destination, it is overwritten without warning."

Für mich heisst das, dass es genau das ist was Du möchtest, oder nicht?

Als Workaround würde auch folgendens gehen:

If Exist $quellpfad+$quelldatei
  Del $zielpfad+$zieldatei
  Copy $quellpfad+$quelldatei $zielpfad+$zieldatei
EndIf

Gruß,
Thomas
Member: an-wei
an-wei Sep 12, 2008 at 08:45:07 (UTC)
Goto Top
ich muss sagen, das ich von kix nicht so wirklich ahnung habe.
das kix-script habe ich 'spontan' vorgesetzt bekommen, und nun stehe ich etwas auf dem schlauch.

wenn ich dein script-bsp. einbinde, muss ich die variablen '$quellpfad', '$quelldatei', '$zielpfad' und '$zieldatei' definieren. muss dann die schleife in jede case-anweisung mit rein?
ich denke schon, da der pfad fuer jede gruppe ein anderer ist oder gibt es da noch eine andere moeglichkeit

das bisherige script sieht so aus...

SELECT
    CASE InGroup("gruppe1")  
        ? SHELL "%COMSPEC% /c COPY \\domaene\pfad-gruppe1\saplogon.ini \\domaene\pfad\%USERNAME%\saplogon.ini /y /v"  

    CASE InGroup("gruppe2")  
        ? SHELL "%COMSPEC% /c COPY \\domaene\pfad-gruppe2\saplogon.ini  \\domaene\pfad\%USERNAME%\saplogon.ini /y /v"  

    CASE InGroup("gruppe3")  
        ? SHELL "%COMSPEC% /c COPY \\domaene\pfad-gruppe3\saplogon.ini  \\domaene\pfad\%USERNAME%\saplogon.ini /y /v"  

    CASE InGroup("gruppe4")  
        ? SHELL "%COMSPEC% /c COPY \\domaene\pfad-gruppe4\saplogon.ini  \\domaene\pfad\%USERNAME%\saplogon.ini /y /v"  

    CASE InGroup("gruppe5")  
        ? SHELL "%COMSPEC% /c COPY \\domaene\pfad-gruppe5\saplogon.ini  \\domaene\pfad\%USERNAME%\saplogon.ini /y /v"  

; restliche user
    CASE 1
        ? SHELL "%COMSPEC% /c COPY \\domaene\pfad-gruppe6\saplogon.ini  \\domaene\pfad\%USERNAME%\saplogon.ini /y /v"  
ENDSELECT

vielleicht hast du noch den einen oder anderen hinweis fuer mich, muss mich mit kix erstmal vertraut machen, komm ja nicht mehr drum rum.

danke im voraus
andré
Member: superboh
superboh Sep 14, 2008 at 19:26:28 (UTC)
Goto Top
Hi,

Du musst nicht die Variablen nehmen, Du kannst es auch so schreiben:

SELECT 
  CASE InGroup("gruppe1")   
    Copy "\\domaene\pfad-gruppe1\saplogon.ini" "\\domaene\pfad\%USERNAME%\saplogon.ini"  
  CASE InGroup("gruppe2")   
    Copy "\\domaene\pfad-gruppe2\saplogon.ini"  "\\domaene\pfad\%USERNAME%\saplogon.ini"  

usw.

Wenn Du es mit der Schleife machen willst, muss sie in jede Case-Anweisung mit rein. Aber wie gesagt, laut Beschreibung überschreibt das Copy von Kix ohne Rückfrage.

Gruß,
Thomas