Seite 1 von 2
Verzeichnis kopieren
Verfasst: 18 Nov 2017, 22:11
von heinzer
Hi nochmals,
kann mir jemand sagen, wie ich ein Verzeichnis per Opsi-Paket auf einen Rechner kopieren kann....etwa nach c:\Verzeichnis? Also ich weiß nur nicht, wie ich das im setupscript starten muss. Der Befehl würde schlicht lauten: copy "%ScriptPath%\VERZEICHNIS" "c:\VERZEICHNIS"
Was mach ich falsch?
Vielen Dank für jede Hilfe
Stefan
Re: Verzeichnis kopieren
Verfasst: 19 Nov 2017, 11:26
von reduef
Hallo Stefan,
sofern ich die Arbeitsweise eines Opsi-Skripts richtig verstanden habe, sollte das einfache Kopieren von Dateien so gehen:
1) Ablegen der zu kopierenden Dateien im Ordner CLIENT_DATA des entsprechenden Opsi-Pakets, z.B. in einem Unterordner DATEIEN
2) Im Skript:
DefVar $InstallDir$
Set $InstallDir$ = "%SystemDrive%\Zielordner"
copy -s "%ScriptPath%\DATEIEN\*.*" "$InstallDir$"
Zielordner ist der Ordner, wo die Dateien auf dem Client am Ende landen sollen. Die Option -s sorgt beim Kopieren dafür, dass auch Unterordner kopiert werden.
Viele Grüße,
Uwe
Re: Verzeichnis kopieren
Verfasst: 19 Nov 2017, 16:30
von heinzer
danke.....meine Versuche bringen folgenden Fehler:
[2] [Nov 19 16:29:24:991] Syntax Error in Section: Actions (Command in line 40 origin: \\OPSISERVER\opsi_workbench\jdownload\CLIENT_DATA\setup32.opsiscript line: 41): copy -> undefined
Re: Verzeichnis kopieren
Verfasst: 19 Nov 2017, 16:43
von heinzer
dies ist der momentane Inhalt des setup-scripts:
[Actions]
requiredWinstVersion >= "4.11.4.6"
ScriptErrorMessages=off
DefVar $MsiId$
DefVar $UninstallProgram$
DefVar $LogDir$
DefVar $ProductId$
DefVar $MinimumSpace$
DefVar $InstallDir$
DefVar $ExitCode$
DefVar $LicenseRequired$
DefVar $LicenseKey$
DefVar $LicensePool$
DefVar $displayName32$
DefVar $displayName64$
DefStringlist $msilist$
Set $LogDir$ = "%opsiLogDir%"
; ----------------------------------------------------------------
; - Please edit the following values -
; ----------------------------------------------------------------
;$ProductId$ should be the name of the product in opsi
; therefore please: only lower letters, no umlauts,
; no white space use '-' as a seperator
Set $ProductId$ = "jdownload"
Set $MinimumSpace$ = "250 MB"
; the path were we find the product after the installation
Set $InstallDir$ = "%SystemDrive%"
Set $LicenseRequired$ = "false"
Set $LicensePool$ = "p_" + $ProductId$
; ----------------------------------------------------------------
[Files_copy]
copy "%ScriptPath%\JDownloader\*.*" "$InstallDir$"
Re: Verzeichnis kopieren
Verfasst: 19 Nov 2017, 17:58
von reduef
Vermutung:
Ubuntu ist case sensitive, d.h. wenn die Groß- / Kleinschreibung bei den Pfaden nicht exakt passt, geht es nicht ...
Re: Verzeichnis kopieren
Verfasst: 20 Nov 2017, 08:08
von rat
heinzer hat geschrieben:
[Actions]
DefVar $InstallDir$
Set $InstallDir$ = "%SystemDrive%"
[Files_copy]
copy "%ScriptPath%\JDownloader\*.*" "$InstallDir$"
Frage 1: Was sagt das Log? Welche Fehlermeldung kommt dort?
Frage 2: Wo liegen die zu kopieren Ordner / Dateien? Die sollen wirklich nach C:\? Somit sollte es rein Theo ein Ordner (ohne "parallel" liegenden Dateien) sein, oder?
Vorschläge:
-> Log
-> copy
-s statt "nur" copy
-> Alle Variablen hardcoded ersetzen und dann das Log kontrollieren
Nach mehrmaligen Durchlesen, noch eine kleine Frage:
Willst Du den Ordner "JDownloader" kopieren oder einen "JDownloader\DAS_ist_der_zu_kopierende_Ordner\Dateien_da_drinnen.irgendwas"?
Re: Verzeichnis kopieren
Verfasst: 20 Nov 2017, 12:13
von heinzer
Hi,
nachdem ich das Script so verändert hab, tut sich was, nur dass es den Ordner nach "C:\Program Files (x86)\opsi.org\opsi-client-agent\opsi-winst" kopiert....und zwar übrigens den Inhalt, nicht den Ordner selbst...
Es sieht so aus im Moment:
[Actions]
requiredWinstVersion >= "4.11.4.6"
ScriptErrorMessages=off
DefVar $MsiId$
DefVar $UninstallProgram$
DefVar $LogDir$
DefVar $ProductId$
DefVar $MinimumSpace$
DefVar $InstallDir$
DefVar $ExitCode$
DefVar $LicenseRequired$
DefVar $LicenseKey$
DefVar $LicensePool$
DefVar $displayName32$
DefVar $displayName64$
DefStringlist $msilist$
Set $LogDir$ = "%opsiLogDir%"
; ----------------------------------------------------------------
; - Please edit the following values -
; ----------------------------------------------------------------
;$ProductId$ should be the name of the product in opsi
; therefore please: only lower letters, no umlauts,
; no white space use '-' as a seperator
Set $ProductId$ = "jdownload"
Set $MinimumSpace$ = "250 MB"
; the path were we find the product after the installation
Set $InstallDir$ = "%SystemDrive%"
Set $LicenseRequired$ = "false"
Set $LicensePool$ = "p_" + $ProductId$
; ----------------------------------------------------------------
Files_install_32
[Files_install_32]
; Example of recursively copying some files into the installation directory:
;
copy -s "%ScriptPath%\JDownloader\*.*" "$InstallDir$"
Was ich möchte ist, den Ordner samt Inhalt nach C:\Users\Public\Downloads zu kopieren....
Von mir aus kann der zu kopierende Ordner auch in einer Freigabe sein, etwa "\\192.168.0.200\opsi_workbench\jdownload\CLIENT_DATA\JDownloader"
Vielen Dank und Grüße
Stefan
Re: Verzeichnis kopieren
Verfasst: 20 Nov 2017, 12:49
von andré
Wenn du *.* nutzt, werden nur alle Dateien im Quellverzeichnis kopiert. Den Zielordner musst du dann manuell genauso nennen, wie den Quellordner.
Das sieht bei mir z.B. so aus.
Code: Alles auswählen
Set $CopyQuelle_Firefox$ = "%ScriptPath%\Firefox\*.*"
Set $TempVerzeichnis_Firefox$ = "%SystemDrive%\tmp\Firefox"
Files_copy_temp_Firefox
[Files_copy_temp_Firefox]
copy -s $CopyQuelle_Firefox$ $TempVerzeichnis_Firefox$
Re: Verzeichnis kopieren
Verfasst: 20 Nov 2017, 13:03
von heinzer
so klappts jetzt:
Files_copy
[Files_copy]
copy -s "%ScriptPath%\JDownloader\*.*" "$InstallDir$\jdownloader"
vielen dank
Re: Verzeichnis kopieren
Verfasst: 20 Nov 2017, 16:26
von heinzer
wenn ich es aber als opsi-paket starte , passiert wieder nichts....also in der "Winst-Konsole" funktionert es, aber wenn ich es dann mit opsi-makeproductfile und opsi-package-manager -i installiere und per configed verteile, dann passiert nix...