[..] Copier un script autoit et l'exécuter dans le répertoir
Règles du forum
- Merci de consulter la section "Règles du forum" et plus particulièrement "Règles et Mentions Légales du site autoitscript.fr" avant d'écrire un message.
-
Lebalbo2013
- Niveau 4

- Messages : 63
- Enregistré le : ven. 19 déc. 2014 18:11
- Status : Hors ligne
[..] Copier un script autoit et l'exécuter dans le répertoir
Bonjour à tous,
Svp j'aurais besoin d'aide.J'ai fait un autoit qui copie des fichiers dans le répertoire public et exécute un batch depuis ce répertoire.Mon problème c'est que déployant ce script via SCCM 2007,il s'exécute dans le cache du disque donc sur le C: et du coup du fait du mode d'exécution des fichiers dans le batch,ce script ne marche plus.
Si je copie manuelle ment le script que j'exécute ainsi que les fichiers à copier dans le répertoire public,ensuite j'exécute le dit script la commande fonctionne mais sur le C: elle ne fonctionne pas.
Comment faire pour créer un script qui copie le script qui est entrain d'être créé (si c'est posssible) ainsi que les autres fichiers dans le répertoire public et ensuite l'exécuter à partir de là.
Je ne sais pas si je suis suffisamment clair.Ma question est peut-être pas très futée,mais je suis ici pour apprendre.
Merci d'avance pour votre aide.
Cordialement,
Lebalbo
Svp j'aurais besoin d'aide.J'ai fait un autoit qui copie des fichiers dans le répertoire public et exécute un batch depuis ce répertoire.Mon problème c'est que déployant ce script via SCCM 2007,il s'exécute dans le cache du disque donc sur le C: et du coup du fait du mode d'exécution des fichiers dans le batch,ce script ne marche plus.
Si je copie manuelle ment le script que j'exécute ainsi que les fichiers à copier dans le répertoire public,ensuite j'exécute le dit script la commande fonctionne mais sur le C: elle ne fonctionne pas.
Comment faire pour créer un script qui copie le script qui est entrain d'être créé (si c'est posssible) ainsi que les autres fichiers dans le répertoire public et ensuite l'exécuter à partir de là.
Je ne sais pas si je suis suffisamment clair.Ma question est peut-être pas très futée,mais je suis ici pour apprendre.
Merci d'avance pour votre aide.
Cordialement,
Lebalbo
-
nouveaujoueur
- Niveau 1

- Messages : 1
- Enregistré le : mar. 24 févr. 2015 21:13
- Status : Hors ligne
Re: [..] Copier un script autoit et l'exécuter dans le réper
Salut,
Il faut faire attention aux antislashs :
$MonFichier = @ScriptDir & "\MonFichier.txt"
Si le script est exécuté à la racine du disque dur (C:)
$MonFichier donnera C:\\MonFichier.txt
Pour répondre à ton interrogation, non tu n'es pas clair.
Si ton problème ne vient pas de là, poste ton script, quelqu'un de plus compétent viendra certainement te répondre.
Il faut faire attention aux antislashs :
$MonFichier = @ScriptDir & "\MonFichier.txt"
Si le script est exécuté à la racine du disque dur (C:)
$MonFichier donnera C:\\MonFichier.txt
Pour répondre à ton interrogation, non tu n'es pas clair.
Si ton problème ne vient pas de là, poste ton script, quelqu'un de plus compétent viendra certainement te répondre.
Re: [..] Copier un script autoit et l'exécuter dans le réper
j'ai absolument rien compris...Lebalbo2013 a écrit :il s'exécute dans le cache du disque donc sur le C: et du coup du fait du mode d'exécution des fichiers dans le batch,ce script ne marche plus.
C'est quoi que tu appelles le répertoire public ?
Le script, ça fait gagner beaucoup de temps... à condition d'en avoir beaucoup devant soi !
-
Lebalbo2013
- Niveau 4

- Messages : 63
- Enregistré le : ven. 19 déc. 2014 18:11
- Status : Hors ligne
Re: [..] Copier un script autoit et l'exécuter dans le réper
Bonjour et merci de votre retour,
le répertoire "public" désigne : c:\users\public\documents.Lorsque j'exécute mon script dans ce répertoire il s'exécute correctement.MAis dans le répertoire "c:Windows\Syswo64\cache",qui est le répertoire dans lequel mon outil de télédistribution exécute mon package celà ne fonctionne pas.
J'ai donc compris qu'à partir du répertoire précédemment cité je ne peux exécuter mon script.Et je ne sais pas quelle ligne de commandes ajouter pour pas qu'il s'exécute sur "c:Windows\Syswo64\cache".
Cordialement,
Lebalbo
le répertoire "public" désigne : c:\users\public\documents.Lorsque j'exécute mon script dans ce répertoire il s'exécute correctement.MAis dans le répertoire "c:Windows\Syswo64\cache",qui est le répertoire dans lequel mon outil de télédistribution exécute mon package celà ne fonctionne pas.
J'ai donc compris qu'à partir du répertoire précédemment cité je ne peux exécuter mon script.Et je ne sais pas quelle ligne de commandes ajouter pour pas qu'il s'exécute sur "c:Windows\Syswo64\cache".
Cordialement,
Lebalbo
Re: [..] Copier un script autoit et l'exécuter dans le réper
OK c'est plus clair maintenant.
Par contre sans nous montrer ton script, ça va être difficile de t'aider...
Par contre sans nous montrer ton script, ça va être difficile de t'aider...
Le script, ça fait gagner beaucoup de temps... à condition d'en avoir beaucoup devant soi !
-
Lebalbo2013
- Niveau 4

- Messages : 63
- Enregistré le : ven. 19 déc. 2014 18:11
- Status : Hors ligne
Re: [..] Copier un script autoit et l'exécuter dans le réper
CI-dessous mon script:
Code : Tout sélectionner
FileCopy(@ScriptDir & "\Licence.sss",@DocumentsCommonDir,1)
FileCopy(@ScriptDir & "\MAJ_SAS.cmd",@DocumentsCommonDir ,1)
Run("run C:\Users\Public\Documents\MAJ_SAS.cmd")
Run("C:\Users\Public\Documents\MAJ_SAS.cmd")
Et voici le code compris dans le batch:
[Code ]
"c:\program files (X86)\sas institute\sas\v8\sas.exe" -sysin "c:\Users\Public\Documents\Licence.sss"
Je souhaiterais qu'il s'exécute dans le répertoire : "C:\Users\Public\Documents".Car dans le cache sccm çà ne fonctionne pas.
Merci d'avance.
Cordialement,- Tlem
- Site Admin

- Messages : 11815
- Enregistré le : ven. 20 juil. 2007 21:00
- Localisation : Bordeaux
- Status : Hors ligne
Re: [..] Copier un script autoit et l'exécuter dans le réper
Bonsoir,
"C:Windows\Syswo64\cache" est un répertoire "système" et en fonction de votre OS, vous n'avez pas forcément les droits d'écriture (surtout si vous avez l'UAC d'activé).
Pour ce genre de chose, utilisez le dossier @tempdir.
Copiez votre script dans le dossier Temp et faites vos opérations depuis ce dossier.
"C:Windows\Syswo64\cache" est un répertoire "système" et en fonction de votre OS, vous n'avez pas forcément les droits d'écriture (surtout si vous avez l'UAC d'activé).
Pour ce genre de chose, utilisez le dossier @tempdir.
Copiez votre script dans le dossier Temp et faites vos opérations depuis ce dossier.
Thierry
Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...
Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...
Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
Re: [..] Copier un script autoit et l'exécuter dans le réper
@Lebalbo2013 : un truc que je ne comprends pas : tu dis que ta télédistribution (l'agent SCCM) exécute le package depuis c:Windows\Syswo64\cache. Mais est-ce que le package SCCM copie les autres fichiers dans ce répertoire (notamment le fichier Licence.sss) ? Ne devrais-tu pas utiliser FileInstall au lieu de FileCopy ?
Un truc du genre :
Un truc du genre :
Code : Tout sélectionner
FileInstall("Licence.sss", @ScriptDir & "\Licence.sss", 1)
RunWait(@ProgramFilesDir & '\sas institute\sas\v8\sas.exe -sysin "' & @ScriptDir & '\Licence.sss"' )Le script, ça fait gagner beaucoup de temps... à condition d'en avoir beaucoup devant soi !
-
Lebalbo2013
- Niveau 4

- Messages : 63
- Enregistré le : ven. 19 déc. 2014 18:11
- Status : Hors ligne
Re: [..] Copier un script autoit et l'exécuter dans le réper
@jguinch;l'agent SCCM copie et exécute effectivement les fichiers depuis c:Windows\Syswo64\CCM\cache.Il se sert d'un compte Système;çà a toujours bien fonctionné pour les autres applis et MAJ que je déploie mais pas pas pour cele
j'ai utilisé FileCopy dans le but de copier mon fichier "licence.sss" ainsi que mon batch dans le répertoire "Public_Mes Documents" afin de pouvoir l'exécuter dans ce repertoire sans soucis.La copie a bien fonctionné mais apparemment l'execution non puisque la licence n'est pas activé manuellement;par contre en exécutant manuellement mon batch depuis le répertoire sus-mentionné celà fonctionne bien et la licence se met bien à jour.
Je ne sais pas si çà répond à ta question.
Cordialement,
Lebalbo13
j'ai utilisé FileCopy dans le but de copier mon fichier "licence.sss" ainsi que mon batch dans le répertoire "Public_Mes Documents" afin de pouvoir l'exécuter dans ce repertoire sans soucis.La copie a bien fonctionné mais apparemment l'execution non puisque la licence n'est pas activé manuellement;par contre en exécutant manuellement mon batch depuis le répertoire sus-mentionné celà fonctionne bien et la licence se met bien à jour.
Je ne sais pas si çà répond à ta question.
Cordialement,
Lebalbo13
Re: [..] Copier un script autoit et l'exécuter dans le réper
OK donc si l'exécution se fait avec le compte système, il n'y a pas de problème de droits.
Ce qui me dérange le plus dans cette histoire, c'est le batch.
Pourquoi ne mettre la commande dans le script AutoIt ?
Tu as testé le code que j'avais posté ? (moyennant peut-être quelques modifs)
Ce qui me dérange le plus dans cette histoire, c'est le batch.
Tu as testé le code que j'avais posté ? (moyennant peut-être quelques modifs)
Le script, ça fait gagner beaucoup de temps... à condition d'en avoir beaucoup devant soi !
-
Lebalbo2013
- Niveau 4

- Messages : 63
- Enregistré le : ven. 19 déc. 2014 18:11
- Status : Hors ligne
Re: [..] Copier un script autoit et l'exécuter dans le réper
Bonjour,
@jguinch,j'ai testé le ode que tu m'as proposé mais ce làne fontionne toujours pas;il fait que mon script:lorsque je l'exécute moi même c'est Ok.Mais via SCCM c'est KO.J'ai modfié les paramètres d'exécution via SCCM avec tous les scénarios possibles.çà marche pas.
Cependant le support de l'application me dit que j'utilise une version du logiciel ancienne qu'il faudrait metttre à jour.Mais ce n'est pas moi qui décide...
@jguinch,j'ai testé le ode que tu m'as proposé mais ce làne fontionne toujours pas;il fait que mon script:lorsque je l'exécute moi même c'est Ok.Mais via SCCM c'est KO.J'ai modfié les paramètres d'exécution via SCCM avec tous les scénarios possibles.çà marche pas.
Cependant le support de l'application me dit que j'utilise une version du logiciel ancienne qu'il faudrait metttre à jour.Mais ce n'est pas moi qui décide...
Re: [..] Copier un script autoit et l'exécuter dans le réper
Ce que tu peux faire, c'est essayer de mettre des traces dans un fichier texte pour savoir ce qui se passe.
Un truc dans ce genre :
A la fin de l'exécution de ouvres c:\windows\temp\sas_licence.log pour voir un peu ce qui s'est passé...
Un truc dans ce genre :
► Afficher le texte
Le script, ça fait gagner beaucoup de temps... à condition d'en avoir beaucoup devant soi !

