Impression et deplacement en batch

Résolu
Bonjour,
Je viens de programmer une caisse en php,
j'en suis a automatiser l impression.
J en suis donc venu au fichier batch

en fouinant un peu je suis arriver a ce stade.

@echo off
pushd "C:\Users\vanminden\test\"
for /r %%I in (*.pdf) do (
start "" "C:\Program Files\Adobe\Acrobat 10.0\Acrobat\Acrobat.exe" /H /P "%%I"

ping 0.0.0.0 -n 10 > NUL
Move.......
)
Taskkill /IM Acrobat.exe

popd

Je souhaite a la suite du ping rajouter une ligne qui déplace Le fichier imprimé dans le dossier fini.
Arbo :
C:\Users\vanminden\test\
C:\Users\vanminden\test\fini\

je pense que je bloque au moment de l'ajout de ma commande move
Quelqu'un aurait il les connaissances pour m'aider.

10 réponses

  1. Salut,
    Voici l'aide de la commande move :

    Pour déplacer un ou plusieurs fichiers :
    MOVE /-Y [lecteur:][chemin]fichier1[,...] destination

    Pour renommer un répertoire:
    MOVE /-Y [lecteur:][chemin]répert1 répertoire2

    [lecteur:][chemin]fichier1 Spécifie l'emplacement et le nom du ou des
    fichiers que vous voulez déplacer.
    destination Spécifie le nouvel emplacement du fichier.
    Destination peut être une lettre de lecteur et
    deux-points (:), un nom de répertoire, ou une
    combinaison. Si vous déplacez un seul fichier,
    vous pouvez aussi inclure un nom de fichier si
    vous voulez renommer le fichier en le déplaçant.
    [lecteur:][chemin]répert1 Spécifie le répertoire que vous voulez renommer.
    répert2 Spécifie le nouveau nom du répertoire.

    /Y Supprime la demande de confirmation de
    remplacement de fichiers de destination existants.
    /-Y Provoque la demande de confirmation de
    remplacement de fichiers de destination existants.

    L'option /Y peut être présente dans la variable d'environnement COPYCMD.
    Outrepassez ceci en utilisant /-Y dans la ligne de commandes. Par défaut, une
    demande de confirmation apparaît sauf si la commande MOVE est exécutée depuis
    un script de commandes.


    Où est-ce-que tu bloques ?
    1. Et bien,
      J'ai ecrit
      Move C:\Users\vanminden\test\ .pdf ""C:\Users\vanminden\test\fini\ " 

      en faite j'ai triturer la fonction dans tous les sens mais mes fichier ne se déplace pas .
      1. Tes guillemets sont bizarres. Et cet espace avant .pdf c'est normal ?
        Quelle erreur as-tu ?
        J'ai essayé avec cette structure : un dossier "a" qui contient un fichier "test.txt" et un dossier "b" (b est dans a).
        En me placant dans "a" et en faisant
        move *.txt b
        ça fonctionne.
    2. En faite j ai pas d'erreur :
      mes fichier parte en file d attente pour l impression et après rien .

      Ps le batch c'est un peu du chinois. je bricole mais je rame dur .


      @echo off
      pushd "C:\Users\vanminden\test\"
      for /r %%I in (*.pdf) do (
      start "" "C:\Program Files\Adobe\Acrobat 10.0\Acrobat\Acrobat.exe" /H /P "%%I"

      ping 0.0.0.0 -n 5 > NUL
      del %%I /f /q

      Move/Y *.pdf "C:\Users\vanminden\test\fini\"
      )

      Taskkill /IM Acrobat.exe

      popd
      1. Ils sont peut-être lockés par Acrobat.
        Attention, il y a un espace entre
        move
        et
        /Y
        .
        Et si tu fais un deuxième for après le premier juste pour supprimer ?
    3. Message d'erreur :
      impossible de déplacer des fichiers multiples vers un seul fichier.
      1. Essaie de retirer le
        \
        à la fin du chemin destination. Même si cette erreur m'étonne si tu spécifie un dossier en destination !
    4. en faite avec ce code :
      @echo off
      pushd "C:\Users\vanminden\test\"
      for /r %%I in (*.pdf) do (
      start "" "C:\Program Files\Adobe\Acrobat 10.0\Acrobat\Acrobat.exe" /H /P "%%I"

      ping 0.0.0.0 -n 5 > NUL
      del %%I /f /q

      Move /Y .pdf "C:\Users\vanminden\test\fini"

      )
      Taskkill /IM Acrobat.exe

      popd

      Message d 'erreur est impossible d'effectuer le processus car le fichier est utilise.
      logique puisque je détruit acrobat après.
      1. Du coup essaie de déplacer les fichier APRES le taskkill
    5. Move /Y .pdf "C:\Users\vanminden\test\fini"

      Erreur chemin d'acces introuvable
      1. Met
        *.pdf
        à la place de
        .pdf
        .
    6. @echo off
      pushd "C:\Users\vanminden\test\"
      for /r %%I in (*.pdf) do (
      start "" "C:\Program Files\Adobe\Acrobat 10.0\Acrobat\Acrobat.exe" /H /P "%%I"

      ping 0.0.0.0 -n 5 > NUL
      del %%I /f /q

      Taskkill /IM Acrobat.exe

      Move /Y "*.pdf" "C:\Users\vanminden\test\fini"
      )

      popd

      Mess erreur
      impossible de deplacer un fichier multiples vers un seul fichier
      1. @echo off
        pushd "C:\Users\vanminden\Desktop\test\"
        for /r %%I in (*.pdf) do (
        start "" "C:\Program Files\Adobe\Acrobat 10.0\Acrobat\Acrobat.exe" /H /P "%%I"

        ping 0.0.0.0 -n 5 > NUL
        del %%I /f /q

        Taskkill /IM Acrobat.exe

        Move /Y "C:\Users\vanminden\Desktop\test\*.pdf" "C:\Users\vanminden\Desktop\test\fini\"
        )

        popd

        Mess d'erreur: le chemin d'accès est introuvable.
        ca avance mais c'est pas gagne
        1. A force de persévérance et de vos conseils j'ai monte ce .bat.

          Le DEL ne fonctionne pas a tout les coups. Voyez d'où viens le problème.
          les 2 première vois ou il lit le script :Message d'erreur chemin d'accès introuvable .
          puis d'un coup il fonctionne .

          Merci d'avance pour votre temps

          @echo off

          DEL "C:\wamp\www\Caisse-en-test\impressions\tickets\fini\*.pdf /Q"

          pushd "C:\wamp\www\Caisse-en-test\impressions\tickets"
          for /r %%I in (*.pdf) do (
          start "" "C:\Program Files\Adobe\Acrobat 10.0\Acrobat\Acrobat.exe" /H /P "%%I"

          ping 0.0.0.0 -n 10 > NUL
          del %%I /f /q

          Taskkill /IM Acrobat.exe

          )

          move "C:\wamp\www\Caisse-en-test\impressions\tickets\*.pdf" "C:\wamp\www\Caisse-en-test\impressions\tickets\fini\"

          popd