renommer cycliquement un fichier d'une liste

Et là comme son nom l’indique un forum pour dire quelque chose qui ne rentre pas dans un des différents forums ci-dessus, réclamer, critiquer, améliorer, parler quoi !
Répondre
Tudgur
Participation 6
Participation 6
Messages : 1770
Enregistré le : 13 mai 2007, 16:47
Localisation : 29880 Plouguerneau
Contact :

renommer cycliquement un fichier d'une liste

Message par Tudgur » 01 mars 2011, 20:22

Bonjour à tous.
Je cherche encore un truc abracadabrant !
Je dispose de 5 fichiers .js dans un répertoire.
Je voudrais, à l'aide d'une tâche planifiée, pouvoir les renommer de façon cyclique (éventuellement aléatoire), puis copier celui qui vient d'être renommé dans un autre répertoire.
Par exemple, lorsque la tâche est lancée, le fichier 1.js serait renommé en script.js puis copié dans le répertoire html de Wswin.
A noter, que le fichier pourrait d'abord être copié dans le répertoire html, puis renommé.
Quand la tâche s'exécute à nouveau, c'est le fichier 2.js qui subirait le même sort en étant renommé script.js dans le répertoire html, en remplacement du précédent.
Et ainsi de suite pour les 5 fichiers...
Quand les 5 sont "passés", on recommence avec le premier.

Quelqu'un aurait une idée ?
Merci.

Reste toujours la solution de 5 tâches planifiées...
Cordialement.

Tudgur
http://meteo-plouguerneau.fr" onclick="window.open(this.href);return false;

Avatar du membre
webmaster
Site Admin
Site Admin
Messages : 2611
Enregistré le : 12 déc. 2006, 20:54
Localisation : Rieux 51 FRANCE
Contact :

Re: renommer cycliquement un fichier d'une liste

Message par webmaster » 02 mars 2011, 09:05

Bonjour,

Pourquoi te compliquer la vie comme çà ?
Sauf si cela est impossible, mais avec la description que tu fais je ne vois rien qui empêcherai la solution suivante de fonctionner.

Plutôt que de chercher à renommer les différents fichiers et que seul le fichier script.js soit appelé, pourquoi ne pas les nommer script1.js, script2.js...... et appeler ces fichiers les uns après les autres ?
Tu ne nous en dit pas beaucoup sur l'usage final des scripts, mais tu peux faire appelle à une fonction aléatoire en PHP ou encore te servir de WsWin pour appeler ces fichiers les uns après les autres au rythme de tes relevés.
Cordialement

Rieux

jackT
Participation 4
Participation 4
Messages : 641
Enregistré le : 29 mars 2007, 11:24
Localisation : Sciez (74)
Contact :

Re: renommer cycliquement un fichier d'une liste

Message par jackT » 02 mars 2011, 13:47

Voici un petit script pour la version aléatoire :

Code : Tout sélectionner

set /a numero=%random% % 5 +1 >nul
copy c:\js\%numero%.js c:\wswin\html\script.js /Y
Avec cet exemple de script, tu mets dans un dossier c:\js\ tes 5 fichiers 1.js à 5.js
Explications :
%random% retourne un nombre aléatoire de 0 à 32767
%random% % 5 calcul le modulo 5 du nombre aléatoire. Cela va donc donner un nombre aléatoire de 0 à 4
%random% %5 +1 va donner un nombre aléatoire de 1 à 5
Ce nombre aléatoire, stocké dans la variable numero est utilisé comme nom de fichier à copier, et le fichier en question est copié comme fichier "script.js" dans le répertoire c:\wswin\html\, en autorisant l'écrasement du fichier script.js déjà existant ( option /Y)

Tudgur
Participation 6
Participation 6
Messages : 1770
Enregistré le : 13 mai 2007, 16:47
Localisation : 29880 Plouguerneau
Contact :

Re: renommer cycliquement un fichier d'une liste

Message par Tudgur » 02 mars 2011, 15:22

Merci pour votre aide.
webmaster a écrit :Plutôt que de chercher à renommer les différents fichiers et que seul le fichier script.js soit appelé, pourquoi ne pas les nommer script1.js, script2.js...... et appeler ces fichiers les uns après les autres ?
Le fichier final doit absolument s'appeler script.js (enfin, un seul fichier !)
C'est tout simplement pour afficher plusieurs effets de diaporama dans ma bannière...
jackT a écrit :Voici un petit script pour la version aléatoire...
J'ai essayé le script (avec une extension .bat ?) mais il me retourne une erreur :

Image

Edit : j'ai trouvé l'erreur ! Il suffit de doubler le % avant le 5.
:Panneau-Merci:

D'autre part, existe-t-il une méthode pour donner aux attributs de cette copie la date (jour/heure) de la copie et non pas celle de la création du fichier.
(A chaque copie, le fichier devra être uploadé chez l'hébergeur et doit donc normalement être considéré comme nouveau)

Edit2 : J'ai trouvé une méthode (tordue) avec nircmd et c'est Wswin qui crée le fichier .bat à la date courante...

Code : Tout sélectionner

<!-- %customfile=D:\SCRIPT\BANNIERES.BAT% -->
set /a numero=%random% %% 5 +1 >nul
copy d:\Utilitaires\diaporama\scripts\%numero%.js d:\Utilitaires\WsWin32\html\bannieres.js /Y
nircmd.exe setfiletime "d:\Utilitaires\WsWin32\html\bannieres.js" "%ws_day2%-%ws_month2%-%ws_year% %ws_hour2%:%ws_minute2%:00" "%ws_day2%-%ws_month2%-%ws_year% %ws_hour2%:%ws_minute2%:00"
<!-- %openfile=test_tag.txt% -->%ws_delline%
Cordialement.

Tudgur
http://meteo-plouguerneau.fr" onclick="window.open(this.href);return false;

Tudgur
Participation 6
Participation 6
Messages : 1770
Enregistré le : 13 mai 2007, 16:47
Localisation : 29880 Plouguerneau
Contact :

Re: renommer cycliquement un fichier d'une liste

Message par Tudgur » 04 mars 2011, 16:48

Bonjour,
J'ai finalement trouvé quelque chose d'hyper simple !!!
Je le poste ici au cas où cela pourrait intéresser quelqu'un pour par exemple :
--> appliquer un style aléatoire à un site lors de son ouverture par choix d'un fichier .css
--> choisir aléatoirement un fichier (image, texte, page de site...) à afficher.

C'est un mini code php et tout se passe donc sur le serveur : plus de copie de fichier, d'upload...
Voici un exemple.

Sur le serveur, à la racine de mon site, j'ai le sous répertoire diaporama_bannieres/scripts/ qui contient (entre autres) 1.js, 2.js,3.js, 4.js et 5.js
Sous diaporama_bannieres, mon fichier bannieres.php contient la ligne suivante :

Code : Tout sélectionner

<script type="text/javascript" src="/diaporama_bannieres/scripts/<?php echo rand(1,5)?>.js"></script>
C'est tout bête, mais quand on n'y connait rien en php.... :oops:
Bon, maintenant, à quoi ça sert ? A pas grand chose, sinon à se faire plaisir !!!
Vous pouvez voir le résultat sur mon site en l'ouvrant dans plusieurs onglets : ce sont les même images qui défilent, mais avec 5 effets différents de transition.
Cordialement.

Tudgur
http://meteo-plouguerneau.fr" onclick="window.open(this.href);return false;

jackT
Participation 4
Participation 4
Messages : 641
Enregistré le : 29 mars 2007, 11:24
Localisation : Sciez (74)
Contact :

Re: renommer cycliquement un fichier d'une liste

Message par jackT » 04 mars 2011, 20:48

Tudgur a écrit :...
J'ai finalement trouvé quelque chose d'hyper simple !!!
C'est effectivement bien plus simple.... et cela rejoint la suggestion de Rieux d'utiliser le php pour cet usage...

Maintenant que tu viens de t'initier au php, tu verras que tu ne pourras plus t'en passer... Bienvenue au club :)

Tudgur
Participation 6
Participation 6
Messages : 1770
Enregistré le : 13 mai 2007, 16:47
Localisation : 29880 Plouguerneau
Contact :

Re: renommer cycliquement un fichier d'une liste

Message par Tudgur » 04 mars 2011, 22:12

jackT a écrit :Maintenant que tu viens de t'initier au php, tu verras que tu ne pourras plus t'en passer... Bienvenue au club :)
C'est beaucoup dire : je me débrouille beaucoup mieux en recherche sur Google !!!
Mais il faudrait effectivement que je m'y mette !
Cordialement.

Tudgur
http://meteo-plouguerneau.fr" onclick="window.open(this.href);return false;

Répondre