thetib Posté(e) le 3 avril 2012 Posté(e) le 3 avril 2012 (modifié) bonjours, j’exécute un fichier.bat pour automatiser la création de répertoires et de fichiers ... bref ca marche bien et depuis longtemps sur mon pc mais quand j’exécute ce .bat via mon pc dans un répertoire partagé du diskstation ( répertoire raccourci qui pointe vers DISKSTATION ) cela ne marche pas ? c'est très contrariant Est que quelqu'un pourrai m’éclairer ? en vous remerciant Modifié le 3 avril 2012 par thetib 0 Citer
bud77 Posté(e) le 3 avril 2012 Posté(e) le 3 avril 2012 Remercie Windows 7, et sa sécurité bancale ... 0 Citer
thetib Posté(e) le 3 avril 2012 Auteur Posté(e) le 3 avril 2012 ha !! ce qui veut dire que c'est mort ??? parce que si il faut que je copie tous sur mon pc pour exécuter le .bat et ensuite que je remette tous sur le syno c'est pas des plus pratique ( ceci dit ca me prendra moins de temps que de tous faire à la main !!! ) 0 Citer
bud77 Posté(e) le 3 avril 2012 Posté(e) le 3 avril 2012 Je sais pas si c'est vraiment impossible, je me suis jamais penché sur la question. J'exécutais un simpe batch d'une ligne depuis le syno, j'ai juste déplacé mon batch pour pouvoir le lancer normalement Je pense que google pourra plus t'aider la dessus :/ 0 Citer
CoolRaoul Posté(e) le 3 avril 2012 Posté(e) le 3 avril 2012 C'est une limitation de cmd.exe: le r 0 Citer
thetib Posté(e) le 3 avril 2012 Auteur Posté(e) le 3 avril 2012 (modifié) bou !!!!! pas simple ca en faite ce .bat dans un répertoire donné crée des dossiers au nom des fichiers .avi trouvé puis met le .avi dedans et creé un fichier .m3u du même nom voila le script : @echo off setlocal enableDelayedExpansion for /f %%a in ('dir /b *.avi') do ( set nom=%%a set nom2=%%~na if not exist !nom2! mkdir !nom2! move !nom! !nom2! (echo #EXTM3U echo #EXTINF:-1,!nom2! echo ..usb5divx!nom! ) > !nom2!!nom2!.m3u ) Citation mettre en dur le chemin absolu des répertoires dans le .bat: mkdir DISKSTATION<partage>... qu'est ce qu'il faudrai que je rajoute dans le script ? Modifié le 3 avril 2012 par thetib 0 Citer
CoolRaoul Posté(e) le 3 avril 2012 Posté(e) le 3 avril 2012 (modifié) Si je comprend bien tu dépose le .bat dans le dossier et tu l'exécute ensuite. Dans un dossier "normal" un .bat va etre exécuté avec le dossier comme répertoire par défaut. Ce n'est pas le cas dans le cas d'un dossier accédé avec un nom UNC. Donc, si tu veux conserver le même comportement, te faudra préfixer dans ton script *tous* les noms de fichiers par %~dp0 (qui contient le chemin complet du dossier ou se situe le script) Modifié le 3 avril 2012 par CoolRaoul 0 Citer
thetib Posté(e) le 3 avril 2012 Auteur Posté(e) le 3 avril 2012 Le 4/3/2012 à 10:36 AM, CoolRaoul a dit : Si je comprend bien tu dépose le .bat dans le dossier et tu l'exécute ensuite. c'est ca ... bon c'est pas simple ni super pratique je pense que je vais faire autrement pour plus de facilité merci beaucoup pour ton aide 0 Citer
bud77 Posté(e) le 3 avril 2012 Posté(e) le 3 avril 2012 Le 4/3/2012 à 10:36 AM, CoolRaoul a dit : Donc, si tu veux conserver le même comportement, te faudra préfixer dans ton script *tous* les noms de fichiers par %~dp0 (qui contient le chemin complet du dossier ou se situe le script) Tu as juste à rajouter le préfixe devant chaque dossier dans ton .bat pour qu'il fasse ce que tu as besoin Rien de bien compliquer 0 Citer
cricx Posté(e) le 3 avril 2012 Posté(e) le 3 avril 2012 sinon un script (un vrai, en shell ou en perl) exécuté sur le syno, sera beaucoup plus efficace... 0 Citer
DjMomo Posté(e) le 3 avril 2012 Posté(e) le 3 avril 2012 Le 4/3/2012 à 4:09 PM, cricx a dit : sinon un script (un vrai, en shell ou en perl) exécuté sur le syno, sera beaucoup plus efficace... ...t'auras pas besoin de le déplacer à chaque fois, il suffit de passer le chemin du dossier en argument en l'appelant. 0 Citer
CoolRaoul Posté(e) le 3 avril 2012 Posté(e) le 3 avril 2012 Le 4/3/2012 à 5:40 PM, DjMomo a dit : ...t'auras pas besoin de le déplacer à chaque fois, il suffit de passer le chemin du dossier en argument en l'appelant. Cela dit, ça c'est aussi possible avec un .bat ou .cmd (utiliser %1 dans le script) 0 Citer
Christophe Leduc Posté(e) le 11 août 2013 Posté(e) le 11 août 2013 Bonjour, Merci à tous, tout marche pour moi avec le script ci-dessous mais j'ai cet avertissement DOS pendant la copie : L'erreur système 85 s'est produite, Nom de périphérique local déjà utilisé. est-ce grave docteur ? (mon système : HP Pavilion, AMD Athlon 64, Win XP familiale Pack 2, Synology DS212+) @echo off net use z: DISKSTATIONbdd cd /d z: set fichier=mabase.mdb set jour=%date:~0,2% set mois=%date:~3,2% set annee=%date:~6,4% set ajoutnom=%annee%%mois%%jour% copy /Y %fichier% sauveJ%ajoutnom%_%fichier% 0 Citer
bud77 Posté(e) le 11 août 2013 Posté(e) le 11 août 2013 Si tu as déjà ton syno mappé en tant que lecteur, alors le "net use ..." te sort une erreur Retire la ligne, et adapte celle en dessous pour pointer vers le bon lecteur 0 Citer
Christophe Leduc Posté(e) le 12 août 2013 Posté(e) le 12 août 2013 Effectivement ce matin un lecteur Z: apparait sur mon poste de travail, la commande " net use z: DISKSTATIONbdd " ne serait donc à n'exécuter qu'une seule fois ? 0 Citer
PiwiLAbruti Posté(e) le 12 août 2013 Posté(e) le 12 août 2013 Ajoute une ligne pour déconnecter le lecteur z: avant de le connecter (net use z: /delete). 0 Citer
CoolRaoul Posté(e) le 12 août 2013 Posté(e) le 12 août 2013 <mode cheveu_sur_la_soupe on> Pourquoi s'emm** avec une lettre de lecteur et ne pas utiliser des noms unc? @echo off set BDD=DISKSTATIONbdd set fichier=mabase.mdb set jour=%date:~0,2% set mois=%date:~3,2% set annee=%date:~6,4% set ajoutnom=%annee%%mois%%jour% copy /Y %BDD%%fichier% %BDD%sauveJ%ajoutnom%_%fichier% </mode> 0 Citer
Christophe Leduc Posté(e) le 13 août 2013 Posté(e) le 13 août 2013 Bonjour, Avec " net use z: /delete " ça marche une fenêtre DOS s'ouvre toujours mais elle a l'air contente : @ synologue : désolé chez moi les noms unc ne sont pas pris en charge Merci à tous ! 0 Citer
CoolRaoul Posté(e) le 13 août 2013 Posté(e) le 13 août 2013 Le 8/13/2013 à 6:31 AM, Christophe Leduc a dit : @ synologue : désolé chez moi les noms unc ne sont pas pris en charge Comment est-ce possible? le support des chemins UNC est intégré à Windows! 0 Citer
Christophe Leduc Posté(e) le 13 août 2013 Posté(e) le 13 août 2013 Je n'en sais rien du tout mais ma config est plutôt vintage ! HP Pavilion, AMD Athlon 64, Win XP familiale Pack 2, Synology DS212+ 0 Citer
CoolRaoul Posté(e) le 13 août 2013 Posté(e) le 13 août 2013 Le 8/13/2013 à 6:39 AM, Christophe Leduc a dit : Je n'en sais rien du tout mais ma config est plutôt vintage ! J'ai du mal à te suivre: tu écris que les noms UNC ne sont pas supportés et juste après que tu n'en sais rien! Les chemins UNC *sont* supportés sous XP, suffit d'essayer tu verras. 0 Citer
CMDC Posté(e) le 13 août 2013 Posté(e) le 13 août 2013 Sauf si le réseau n'est pas défini ..... mais est-ce le but du sujet ? :jesors: 0 Citer
CoolRaoul Posté(e) le 13 août 2013 Posté(e) le 13 août 2013 Le 8/13/2013 à 7:15 AM, CMDC a dit : Sauf si le réseau n'est pas défini ..... mais est-ce le but du sujet ? :jesors: D'autant plus que faire communiquer PC et NAS sans le réseau c'est pas gagné :ouitusors: 0 Citer
Christophe Leduc Posté(e) le 14 août 2013 Posté(e) le 14 août 2013 Je ne connaissais rien aux "chemins UNC", maintenant je comprends bien de quoi il s'agit mais c'est juste Windows qui me le dit que "Les chemins d'accès UNC ne sont pas pris(e) en charge" : Par ailleurs mon réseau marche très bien, j'ai 3 ou 4 machines clientes du Nas par l'intermédiaire d'un livebox. Ces chemins fonctionnent très bien avec la plupart de mes logiciels, mais pas dans mes fichers BAT. Rien n'est simple ! 0 Citer
Messages recommandés
Rejoindre la conversation
Vous pouvez publier maintenant et vous inscrire plus tard. Si vous avez un compte, connectez-vous maintenant pour publier avec votre compte.