IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Scripts/Batch Discussion :

Renommer le fichier output avec le même nom que le fichier input [Batch]


Sujet :

Scripts/Batch

  1. #1
    Membre averti
    Inscrit en
    Janvier 2008
    Messages
    24
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 24
    Par défaut Renommer le fichier output avec le même nom que le fichier input
    Bonjour,

    J'ai un script qui parcoure les fichiers pdf d'un répertoire, recherche le nom du fichier dans un fichier csv et s'il y a concordance lui applique un mot de passe et sauvegarde le fichier protégé dans un autre répertoire. Mon souci est que je voudrais qu'il le sauvegarde avec le même nom que le fichier d'origine. J'ai utilisé pdftk server pour mettre le mot de passe. Merci de votre aide.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    FOR /F "DELIMS=, TOKENS=1,2" %%p IN (csvfile) DO IF /I "%%p"=="%%p" pdftk %%p*.pdf output "Rapports\%%p.pdf" user_pw %%q

  2. #2
    Membre émérite Avatar de devilsnake88
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Janvier 2013
    Messages
    453
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Janvier 2013
    Messages : 453
    Par défaut
    Bonjour,
    Je ne suis pas certain mais essaye de remplacer ""Rapports\%%p.pdf"" par "Rapports\%%~np.pdf"

  3. #3
    Expert confirmé

    Homme Profil pro
    Responsable déploiement (SCCM, InTune, GPO)
    Inscrit en
    Juillet 2014
    Messages
    3 218
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Responsable déploiement (SCCM, InTune, GPO)
    Secteur : Transports

    Informations forums :
    Inscription : Juillet 2014
    Messages : 3 218
    Par défaut
    Ça peut être faux des fois ça ?

    IF /I "%%p"=="%%p"

  4. #4
    Membre averti
    Inscrit en
    Janvier 2008
    Messages
    24
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 24
    Par défaut
    Vous avez raison c'est toujours vrai donc le test n'a pas trop de sens, je vais essayer la solution proposée et je vous reviens, merci.

  5. #5
    Membre averti
    Inscrit en
    Janvier 2008
    Messages
    24
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 24
    Par défaut
    Merci Mr devilsnake88 mais ça ne marche pas, si quelqu'un à une piste.

  6. #6
    Expert confirmé

    Homme Profil pro
    Responsable déploiement (SCCM, InTune, GPO)
    Inscrit en
    Juillet 2014
    Messages
    3 218
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Responsable déploiement (SCCM, InTune, GPO)
    Secteur : Transports

    Informations forums :
    Inscription : Juillet 2014
    Messages : 3 218
    Par défaut
    Le script est dans le dossier qui contient les pdf à crypter ?
    Quelle est le format dans "csvfile" avec extension ou pas ?

    Sans en savoir plus je proposerai cela :

    Code bat : Sélectionner tout - Visualiser dans une fenêtre à part
    FOR /F "DELIMS=, TOKENS=1,2" %%p IN (csvfile) DO IF EXIST "%%p.pdf" pdftk "%%p.pdf" output "Rapports\%%p.pdf" user_pw "%%q"

  7. #7
    Membre averti
    Inscrit en
    Janvier 2008
    Messages
    24
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 24
    Par défaut
    Merci pour votre réponse ericlm128, oui le script est dans le dossier des pdf à crypter. La nomenclature des fichiers à crypter est R_123456789_JXXX.pdf où XXX étant la partie variable constituée de chiffres allant de 001 à 999. La partie du nom en rouge ne change pas donc c'est cette partie qui compose la première colonne du fichier csv et la 2éme colonne les mot de passe.

    Donc dans le dossier des pdf on a ce genre de fichiers :

    - R_123456789_J069.pdf
    - R_123456789_J070.pdf
    - R_547893123_J123.pdf
    - R_888889999_J023.pdf
    etc..

    Et le fichier csv (séparateur ,)est présenté comme suit nom fichier,mot de passe :

    R_123456789_J,789456
    R_547893123_J,231698
    R_888889999_J,795864

    Je souhaiterai lorsqu'il crypte les fichiers que la partie variable soit ramené donc en output R_123456789_J069.pdf au lieu de R_123456789_J.pdf. Merci

  8. #8
    Expert confirmé

    Homme Profil pro
    Responsable déploiement (SCCM, InTune, GPO)
    Inscrit en
    Juillet 2014
    Messages
    3 218
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Responsable déploiement (SCCM, InTune, GPO)
    Secteur : Transports

    Informations forums :
    Inscription : Juillet 2014
    Messages : 3 218
    Par défaut
    OK, je comprend mieux je te propose ceci
    Code bat : Sélectionner tout - Visualiser dans une fenêtre à part
    FOR /F "DELIMS=, TOKENS=1,2" %%p IN (csvfile) DO FOR %%r IN ("%~dp0\%%~p*.pdf") DO pdftk "%%~fr" output "%%~dprRapports\%%~nxr" user_pw "%%~q"


    Voici la sorti avec un '@echo' devant 'pdftk' :
    pdftk "C:\Dossier test\R_123456789_J069.pdf" output "C:\Dossier test\Rapports\R_123456789_J069.pdf" user_pw "789456"
    pdftk "C:\Dossier test\R_123456789_J070.pdf" output "C:\Dossier test\Rapports\R_123456789_J070.pdf" user_pw "789456"
    pdftk "C:\Dossier test\R_547893123_J123.pdf" output "C:\Dossier test\Rapports\R_547893123_J123.pdf" user_pw "231698"
    pdftk "C:\Dossier test\R_888889999_J023.pdf" output "C:\Dossier test\Rapports\R_888889999_J023.pdf" user_pw "795864"
    Mon dossier est évidement 'C:\Dossier test' et j'ai repris tes exemples données

  9. #9
    Membre averti
    Inscrit en
    Janvier 2008
    Messages
    24
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 24
    Par défaut
    Merci beaucoup Mr ericlm128 pour votre précieuse aide, ça marche nickel encore merci.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 4
    Dernier message: 24/11/2015, 22h50
  2. Réponses: 13
    Dernier message: 15/10/2013, 00h23
  3. Problème pour différencier plusieurs select avec le même nom
    Par vallica dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 24/04/2006, 11h35
  4. supprimer les fichiers qui ont des mêmes noms
    Par manaboko dans le forum Langage
    Réponses: 5
    Dernier message: 08/03/2006, 09h09
  5. Interfaces avec le même nom
    Par myuils dans le forum Langage
    Réponses: 2
    Dernier message: 09/11/2004, 18h18

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo