Lister / renommer fichiers

mailliam Messages postés 261 Date d'inscription mardi 2 juillet 2002 Statut Membre Dernière intervention 10 mars 2014 - 5 mars 2011 à 11:30
mailliam Messages postés 261 Date d'inscription mardi 2 juillet 2002 Statut Membre Dernière intervention 10 mars 2014 - 8 mars 2011 à 14:52
Bonjour à tous,
Cela va sans dire, je ne maitrise pas le javascript..

mon but est de lister et renommer des fichiers .pdf dans un dossier sur mon pc.
j'aimerais simplement ajouter la date devant chaque nom de fichier (nom.pdf -> 20110305nom.pdf)

je mets ici un script que j'ai trouvé, qui utilise la fonction Scripting.FileSystemObject qui me semble un bon début..

<HTML><HEAD><TITLE>Essai</TITLE>
<script LANGUAGE="JavaScript">
function dolist() {

      fso = new ActiveXObject("Scripting.FileSystemObject")
      path = fso.GetParentFolderName(unescape(self.location.pathname))
      fold = fso.GetFolder(path.substr(1))

//date="20110305-"

      fich="index.html"                                       // page web à créer
      fich2="liste.txt"                                       // fichier texte à créer
      midlist=new Array()                                       // liste en mémoire

      ff = new Enumerator(fold.files);
        for (; !ff.atEnd(); ff.moveNext()) {
         s=ff.item()
if (".pdf".indexOf(fso.GetExtensionName(s.name))>0)  midlist[midlist.length]=s.name
      }
         
      midlist.sort()
      
      f=fso.OpenTextFile(fold+"/"+fich , 2, true)
      f2=fso.OpenTextFile(fold+"/"+fich2 , 2, true)
      f.writeLine("<HTML><HEAD><TITLE>Catalogue MIDI</TITLE>")
      f.writeLine("</HEAD><center>Catalogue des fichiers MIDI
")
      f.writeLine("Cliquez sur un titre pour l'écouter")
      for(i=0;i<midlist.length;i++) {
// ... et celle ci-dessous par f.writeLine(" ")
         f.writeLine("[javascript:dolist() Lancer la lecture du répertoire]

Il faut autoriser l'exécution des contrôles ActiveX !...
</HTML>


Merci d'avance

4 réponses

007Julien Messages postés 276 Date d'inscription mercredi 22 septembre 2010 Statut Membre Dernière intervention 8 janvier 2014 4
7 mars 2011 à 15:32
Scripting.FileSystemObject constitue, semble-t-il, une erreur de jeunesse de Microsoft, qui limite maintenant son fonctionnement et impose de dégrader le niveau de sécurité de son navigateur pour l'utiliser.

En effet, les pages (et script) HTML n'ont pas vocation à intervenir sur les fichiers du poste client.

Il semblerait donc préférable pour procéder aisément à ce genre de manipulation (et construire d'abord des répertoires de copies de fichiers) d'installer un serveur sur son poste (sous windows, EasyPHP est facile à installer y compris sur une clef) et d'utiliser le PHP tout-à-fait approprié pour travailler sur les fichiers d'un serveur.
0
mailliam Messages postés 261 Date d'inscription mardi 2 juillet 2002 Statut Membre Dernière intervention 10 mars 2014 3
7 mars 2011 à 22:47
Tcho, merci pour ta reponse,

mouais ca m'arrange moyen tout ca, oui t'as raison ce serait bien + simple à faire en php mais c'est au boulot et je n'ai pas accès au serveur..

Snif tant pis je continuerai à renommer mes fichiers à la main tous les jours

A++
0
007Julien Messages postés 276 Date d'inscription mercredi 22 septembre 2010 Statut Membre Dernière intervention 8 janvier 2014 4
7 mars 2011 à 23:56
Pas besoin d'accès au serveur, il suffit de télécharger EasyPHP et de de l'installer dans un répertoire (par exemple serveur) d'une clef USB pour pouvoir transporter son serveur sur n'importe quel PC sous windows par branchement de sa clef.

Suivre les instructions puis, une fois l'installation terminée, placer une page html et tous ces fichiers accessoires dans un sous répertoire du répertoire serveur/www et lancer le programme EasyPHP-5.3.0.exe disponible dans serveur.

Cliquer sur Ok lors de l'affichage du message
« EasyPhp s'exécute à partir d'un disque amovible. Voulez-vous régénérer les fichiers de configuration ?» pour voir s'afficher une icône dans la barre des tâches du poste. Attendre le bip sonore marquant la fin de l'installation pour faire un clic droit sur cette icône et ouvrir votre serveur local (page administration ou web local).

Toutes les instructions sont détaillées sur cette page disponible en français (choisir la langue et cliquer sur la flèche voisine en haut à gauche).

Cette installation est a priori amplement suffisante (la page EasyPHP semble avoir beaucoup grossi récemment : ne pas s'emcombrer d'autres chargement avant de maîtriser EasyPHP à mon avis amplement suffisant)
0
mailliam Messages postés 261 Date d'inscription mardi 2 juillet 2002 Statut Membre Dernière intervention 10 mars 2014 3
8 mars 2011 à 14:52
Merci 007Julien pour ta réponse! je n'savais pas qu'il était possible de lancer easyPHP depuis une clé, même sans avoir les droit d'administrateur.

l'idée serait parfaite si j'étais le seul a devoir renommer les fichiers, en fait je bosse dans un service d'urgence et toutes les interventions qu'on fait sont écrite sur une fiche papier que l'on scanne pour les archives, et en fait on doit renommer le fichier scanné avec la date et le numéro de la fiche.. comme on est une trentaine de personnes ca me semble trop compliqué d'utiliser easyphp, je voulais juste faire un fichier .html ou .hta qu'on aurait qu'à lancer pour lister les fichiers scannés et les renommer..

c'est vrai que c'est tout con à faire en php, et là je sais pas comment faire en java, ou alors en C+ je vais chercher de ce côté...

Merci pour ta réponse quand même qui était très complète!
0
Rejoignez-nous