Bonjour,
Je me suis créé un batch que j'exécute à une heure précise en utilisant le planificateur de tâches (PT) de W7.
Il s'agit de l'exécution de la commande xcopy entre 2 dossiers écrite dans un batch.
J'ai ajouté la commande de redirection pour que les messages de résultats soient stockés dans un fichier
Exemple : xcopy c:\dossier1 c:\dossier2 > /E /Y /D > rapport.txt
Dans ce fichier, il faudrait que j'ai :
"fichier tartenpion.txt"
" 1 fichier copié"
qui s'affiche habituellement à l'écran après l'exécution d'une commande xcopy.
Problème : Si je me place dans le dossier où se trouve le batch, et si j'exécute le batch à partir de l'Invite de Commandes (IC), les fichiers sont copiés et le rapport généré.
Si j'essaye avec le PT, j'obtiens "Accès refusé" dans l' IC qui s'affiche automatiquement.
Par contre, si je supprime l'option de redirection dans le batch, la sauvegarde se fait.
Pour être plus précis, voici la commande litigieuse :
xcopy "C:\Program Files (x86)\Collectorz.com\Movie Collector\*.*" "D:\DOSSIERS\DOSSIERS par DEFAULT ET SAUV\SAUV\COLLECTORZ\DONNES 2015" /E /Y /D > rapport.txt
Si quelqu'un comprend quelque chose ...
Merci d'avance pour l'aide.
Cyrille E.
Problème avec le planificateur [Résolu]
-
- Messages : 965
- Enregistré le : mer. 20 janv. 2010 23:41
- Etes vous un robot ? : Non
Re: Problème avec le planficateur
La différence est le contexte dans lequel est exécuté le script.
Quand tu l'exécutes manuellement, son contexte est le dossier où le script se trouve.
Quand tu l'exécutes par tâches planifiée, son contexte est dans le dossier C:\Windows\System32
et sans les droits admin, l’accès en écriture de ce dossier est refusé.
Plusieurs solutions pour corriger cela.
NB: évite les espace avant et après >
NB2: xcopy est obsolète, préfère Robocopy. (avec comme avertissement que mal utilisé, Robocopy peut être très destructeur)
Quand tu l'exécutes manuellement, son contexte est le dossier où le script se trouve.
Quand tu l'exécutes par tâches planifiée, son contexte est dans le dossier C:\Windows\System32
et sans les droits admin, l’accès en écriture de ce dossier est refusé.
Plusieurs solutions pour corriger cela.
- Déplacer le contexte dans la tâche planifiée.
dans le champ 'Commencer dans (facultatif)', renseigne le dossier ou tu veux le rapport. - Déplace le contexte dans le script lui-même;
Mets la ligne CD /D %~dp0 au début du script. - Redirige la sortie du rapport en donnant le chemin absolu et non simplement le nom du fichier.
ex: xcopy c:\dossier1 c:\dossier2 /E /Y /D>C:\Users\Truc\Desktop\script\rapport.txt
NB: évite les espace avant et après >
NB2: xcopy est obsolète, préfère Robocopy. (avec comme avertissement que mal utilisé, Robocopy peut être très destructeur)
Déplacer les dossiers utilisateur topic4073.html topic5883.html
Déplacer le dossier Public topic4396.html
PAS DE RÉPONSE TECHNIQUE PAR MP
Déplacer le dossier Public topic4396.html
PAS DE RÉPONSE TECHNIQUE PAR MP
Re: Problème avec le planficateur
J'ai réussis avec la première solution.
Pour CD /D %~dp0, il faut que je cherche ce que cela signifie.
Quelque sites peut-être pour éclairer mes lanternes peut-être ceux déjà indiqués (je n'ai pas eu encore le temps de lire)
Quant à la troisième solution : pigé
Merci pour votre aide.
Pour CD /D %~dp0, il faut que je cherche ce que cela signifie.
Quelque sites peut-être pour éclairer mes lanternes peut-être ceux déjà indiqués (je n'ai pas eu encore le temps de lire)
Quant à la troisième solution : pigé
Merci pour votre aide.
-
- Messages : 2983
- Enregistré le : jeu. 11 nov. 2010 17:11
- Etes vous un robot ? : Non
- Localisation : Port-sur-Saône / Haute-Saône / France
- Contact :
Re: Problème avec le planificateur [Résolu]
Bonjour,
Les pages suivantes t'apporteront des réponses complémentaires :
http://stackoverflow.com/questions/1830 ... in-windows
http://saladtomatonion.com/blog/2013/01 ... cript-bat/
http://ss64.com/nt/syntax-args.html - en particulier http://ss64.com/nt/cd.html
@+
Voici la réponse à ta question.cyrille a écrit :Pour CD /D %~dp0, il faut que je cherche ce que cela signifie.
Source : http://www.commentcamarche.net/forum/af ... in-courantil suffit d'utiliser la variable %~dp0 qui renvoie le chemin du dossier où se trouve le batch.
Source : http://www.commentcamarche.net/forum/af ... irconflexeJ'ai un fichier cmd qui contient la ligne suivante : cd /d %~dp0
Censé (vous dîtes si je me trompe) initialiser le répertoire courant avec le répertoire parent du fichier cmd lancé.
Les pages suivantes t'apporteront des réponses complémentaires :
http://stackoverflow.com/questions/1830 ... in-windows
http://saladtomatonion.com/blog/2013/01 ... cript-bat/
http://ss64.com/nt/syntax-args.html - en particulier http://ss64.com/nt/cd.html
@+
-
- Messages : 965
- Enregistré le : mer. 20 janv. 2010 23:41
- Etes vous un robot ? : Non
Re: Problème avec le planificateur [Résolu]
LA variable %0 contient le chemin absolu et le nom du scriptcyrille a écrit :Pour CD /D %~dp0, il faut que je cherche ce que cela signifie.
Tu peux extraire de cette variable différentes valeurs, comme le disque (d) et le chemin (p) (le p de path, chemin en anglais)
dons, si ton script et son chemin sont:
C:\Truc\Machin\Dossier\Script.cmd
%~d0 = C:
%~p0 = \Truc\Machin\Dossier\
et tu peux associer d et p, ce qui nous donne:
%~dp0 = C:\Truc\Machin\Dossier\
on utilise alors la commande CD pour déplacer le Current Directory vers le dossier où le script se trouve.
l'option /D permet à CD de changer aussi de lecteur si besoin est.
Il y a d'autre possibilité d'extraction d'info de la variable %0
%~n0 = Script
%~x0 = .cmd
%~nx0 = Script.cmd
Si tu as bien suivi, tu en déduiras que
%~dpnx0 = %0
Logique, non?
Plus d'info sur cela avec la commande:
for /? dans une fenêtre de commande.
++
Alain
Déplacer les dossiers utilisateur topic4073.html topic5883.html
Déplacer le dossier Public topic4396.html
PAS DE RÉPONSE TECHNIQUE PAR MP
Déplacer le dossier Public topic4396.html
PAS DE RÉPONSE TECHNIQUE PAR MP
-
- Messages : 2983
- Enregistré le : jeu. 11 nov. 2010 17:11
- Etes vous un robot ? : Non
- Localisation : Port-sur-Saône / Haute-Saône / France
- Contact :
Re: Problème avec le planificateur [Résolu]
Bonjour,
@+
Merci pour ces explications très claires assorties d'une conclusion limpide.Alain Quarré a écrit : Si tu as bien suivi, tu en déduiras que
%~dpnx0 = %0
Logique, non?

Source : De L'Art poétique - Nicolas BoileauAvant donc que d'écrire, apprenez à penser.
Selon que notre idée est plus ou moins obscure,
L'expression la suit, ou moins nette, ou plus pure.
Ce que l'on conçoit bien s'énonce clairement,
Et les mots pour le dire arrivent aisément.
@+