Il y a actuellement 136 visiteurs
Mercredi 01 Février 2023
accueilactualitésdossierscomparer les prixtélécharger gratuitement vos logicielsoffres d'emploiforum informatique
Connexion
Créer un compte

Copier tous les fichier d'un même type en bat

Besoin d'aide pour configurer un serveur ? Vous souhaitez obtenir des conseils pour référencer votre site ? Un petit souci pour accéder à votre FTP ? Des soucis de programmation en PHP / ASP / HTML / XHTML / XML / XSLT / CSS / ReactJS / AngularJS / VueJS / CGI / PERL / C / MySQL / PostgreSQL ??? Nous avons peut-être la solution dans ce forum ...

Copier tous les fichier d'un même type en bat

Message le 04 Juin 2021 14:06

Bonjour.

J'ai vu qu'on pouvait utiliser l'astérisque en batch comme "joker", pour viser plusieurs fichiers d'un seul coup, comme par exemple le code ci-dessous qui serait censé copier tous les fichier mp3 dans un nouveau dossier :

Code: Tout sélectionner
xcopy  c:\*.mp3  nom_du_dossier


Sauf que ça ne fonctionne pas chez moi, est-ce que c'est quelque chose qui fonctionnait uniquement auparavant ?
mlkgiosn
Apprenti(e) Expert(e)
Apprenti(e) Expert(e)
 
Messages: 403
Inscription: 09 Avr 2010 13:54
 


Re: Copier tous les fichier d'un même type en bat

Message le 04 Juin 2021 16:41

Bonjour mlkgiosn,

mlkgiosn a écrit:Bonjour.

J'ai vu qu'on pouvait utiliser l'astérisque en batch comme "joker", pour viser plusieurs fichiers d'un seul coup, comme par exemple le code ci-dessous qui serait censé copier tous les fichier mp3 dans un nouveau dossier :

Code: Tout sélectionner
xcopy  c:\*.mp3  nom_du_dossier


Sauf que ça ne fonctionne pas chez moi, est-ce que c'est quelque chose qui fonctionnait uniquement auparavant ?



Il s'agit tout simplement d'une erreur de syntaxe de ta part.
Tu dois également indiquer d'une part la lettre du lecteur de la destination où tu veux copier tous tes fichiers .bat ainsi que le commutateur /I


Code: Tout sélectionner
xcopy  c:\*.mp3  c:\nom_du_dossier /I


Le commutateur /I est à assigner à ton script afin d' éviter une demande de confirmation pour que nom_du_dossier soit considéré comme un fichier ou un répertoire. Le commutateur /I considère le nom de ton dossier comme un répertoire et non un fichier

/I Si la destination n’existe pas et que plus d’un fichier est copié, considérer la destination comme devant être un répertoire.


Nota: commande tester avec succès pour ma part.

Bonne journée
Avatar de l'utilisateur
heracles
Expert(e)
Expert(e)
 
Messages: 1876
Inscription: 02 Juin 2014 19:18
 

Re: Copier tous les fichier d'un même type en bat

Message le 04 Juin 2021 16:50

Merci, en fait je pensais que ça copier tous les mp3 de C:/ dans un dossier (même s'ils étaient dans des sous-répertoires), je n'avais pas compris que ça copiait que ceux qui étaient directement dans C:/.
mlkgiosn
Apprenti(e) Expert(e)
Apprenti(e) Expert(e)
 
Messages: 403
Inscription: 09 Avr 2010 13:54
 

Re: Copier tous les fichier d'un même type en bat

Message le 04 Juin 2021 19:43

Re,

Désolé pour le retard.


La commande xcopy ne permet pas de copier tous les fichiers .bat présent sous les dossiers et sous-dossiers du lecteur c: dans un dossier spécifique. Il n'y a pas de commutateur permettant de faire une recherche récursive dans tous les dossiers et sous-dossiers du lecteur c:


:wink: Il faut faire cela avec une autre commande. Je t'ai crée un ensemble de commande à enregistrer sous un fichier bat.
Je l'ai testé et cela fonctionne.

  • Dans la zone de recherche, tu inscris bloc
  • Tu ouvres bloc-notes puis tu copies les lignes ci-dessous et tu enregistres sur ton bureau, le fichier sous le nom Recherche de tous les fichiers bat.bat (Nota: n'oubli pas l'extension .bat)
  • Tu fais un clic droit sur le fichier Recherche de tous les fichiers bat.bat et tu sélectionnes "exécuter en tant qu'administrateur"
  • Patiente jusqu'à la fermeture de la fenêtre de l'invite de commande. Le fichier c:\test\Resultat.txt s'ouvrira automatiquement

Les commandes se décomposent comme ceci:

  1. Création du répertoire
  2. Recherche de tous les fichiers .bat du lecteur c:
  3. Affichage du résultat.


Code: Tout sélectionner
@echo OFF
MD c:\test
dir c:\*.bat /B /S >>c:\test\Resultat.txt
notepad c:\test\Resultat.txt



Bonne soirée
Avatar de l'utilisateur
heracles
Expert(e)
Expert(e)
 
Messages: 1876
Inscription: 02 Juin 2014 19:18
 

Re: Copier tous les fichier d'un même type en bat

Message le 04 Juin 2021 20:59

Coucou, merci, incroyable tout ce qu'on peut faire avec un langage aussi simple :wink: .

Il y en a beaucoup par contre des bat lol.
mlkgiosn
Apprenti(e) Expert(e)
Apprenti(e) Expert(e)
 
Messages: 403
Inscription: 09 Avr 2010 13:54
 

Re: Copier tous les fichier d'un même type en bat

Message le 05 Juin 2021 07:08

Bonjour mlkgiosn,


Comme on le dit, la nuit porte conseil.
Par contre, mon batch permet uniquement de lister les noms des fichiers .bat mais ne fait pas une copie intégrale des fichiers .bat dans un dossier.


Pour faire une copie des fichiers .bat (sans déplacer le fichier original), il faut effectuer cette commande. Inconvénient, cela copie également l'emplacement des dossiers contenant un fichier .bat. On peut éviter cela en supprimant le commutateur /S

Code: Tout sélectionner
@echo OFF
Xcopy  /I  / S "*.bat" "C:\test\"
start C:\test
exit



Celui-ci est parfait:

Code: Tout sélectionner
@echo OFF
Xcopy  /I  "*.bat" "C:\test\"
start C:\test
exit


La liste est moins longue. :wink:


Interprétation des commutateurs:

/A Copie uniquement les fichiers ayant l’attribut archive, ne
modifie pas l’attribut.
/S Copie les répertoires et sous-répertoires à l’exception des
répertoires vides.
/I Si la destination n’existe pas et que plus d’un fichier est
copié, considérer la destination comme devant être
un répertoire.



En batch, on pourrait partir sur une boucle avec FOR %%variable IN (ensemble) DO commande [paramètres] ou FOR /R [[lecteur:]chemin] %%variable IN (ensemble) DO commande [paramètres] mais cela devient compliqué puisque je n'ai plus pratiqué le batch depuis fort longtemps. J'en resterais sur mon dernier batch.


Edit: j'ai fais un début avec une boucle FOR mais ce n'est pas encore au point.

Il faut créer le répertoire sous un autre lecteur que C: afin d'éviter l'erreur " Impossible de réaliser une copie cyclique"
Nota: ( quand on copie le contenu d'un dossier sous C: dans un sous-dossier de ce même dossier sous le même lecteur, on obtient cette erreur).


batch testé: ok :wink: :

Code: Tout sélectionner
@echo off
md d:\test
for /R c: %%f in (*.bat) do Xcopy %%f D:\test /I /S /F /Y
start D:\test
exit




Bonne journée
Avatar de l'utilisateur
heracles
Expert(e)
Expert(e)
 
Messages: 1876
Inscription: 02 Juin 2014 19:18
 

Re: Copier tous les fichier d'un même type en bat

Message le 06 Juin 2021 14:55

Je sais pas si je dois recréer un sujet car ça concerne toujours le batch, je me demandais, la commande "choice" envoie un signal sonore si on entre un choix non compris dans la liste, il n'y a pas moyen de renvoyer autre chose ? Du
style un message écrit ?
mlkgiosn
Apprenti(e) Expert(e)
Apprenti(e) Expert(e)
 
Messages: 403
Inscription: 09 Avr 2010 13:54
 

Re: Copier tous les fichier d'un même type en bat

Message le 06 Juin 2021 15:28

Bonjour mlkgiosn,

mlkgiosn a écrit:Je sais pas si je dois recréer un sujet car ça concerne toujours le batch, je me demandais, la commande "choice" envoie un signal sonore si on entre un choix non compris dans la liste, il n'y a pas moyen de renvoyer autre chose ? Du
style un message écrit ?


https://www.batcher.fr/index.php?page=cmd&cmd=choice


La commande choice définie une sélection de touche, par exemple o ou n. Si tu sélectionnes une autre touche que celles demandées, tu as un avertissement sonore comme tu l'indiques.

Pour éviter cela, il faudrait associer dans ton batch, la commande choice avec une condition définie par la commande If ERRORLEVEL . Le texte renvoyé dépend du nombre de condition assignée. Si une condition n'est pas définie, tu auras un bip sonore. Il faudrait également définir les touches non validés afin d'éviter le bip sonore avec d'autres commutateurs utilisés en batch. Mais là, ce n'est pas gagné !!! :lol:



Edit: J'ai testé divers commandes batch et je ne pense pas que l'on puisses faire un choix mauvais de touches sans émission de bip avec la commande choice. :roll:

Toutes les commandes utilisées en batch
c'est écrit sur le lien ci-dessus:

La variable d’environnement ERRORLEVEL est définie sur l’index de la clé que l’utilisateur sélectionne dans la liste de choix. Le premier choix dans la liste retourne 1 la valeur, la deuxième valeur 2 , et ainsi de suite. Si l’utilisateur appuie sur une touche qui n’est pas un choix valide, le choix émet un signal sonore d’avertissement.


Bonne journée
Avatar de l'utilisateur
heracles
Expert(e)
Expert(e)
 
Messages: 1876
Inscription: 02 Juin 2014 19:18
 

Re: Copier tous les fichier d'un même type en bat

Message le 07 Juin 2021 19:07

Pour m'entrainer j'ai écrit ce code (oui chacun son niveau :lol: ) :
Code: Tout sélectionner
@echo off

del fichier.txt

set /a compteur=1
set /a comparateur=100

set /p result=Nombre a tester:

:eof

echo %compteur% >> fichier.txt

set/a variable=result %%2

if %result%==1 (
echo %result%
echo FINI
PAUSE > nul
set /a compteur=compteur +1
goto eof) 

if %variable% ==0 (
echo %result%
set/a result = result /2
REM PAUSE > nul
set /a compteur=compteur +1
goto eof)

if not %variable% ==0 (
echo %result%
set/a result = 3*result +1
REM PAUSE > nul
set /a compteur=compteur +1
goto eof)





C'est un code qui teste la conjecture de Syracuse pour un nombre choisi par l'utilisateur, pour ceux qui ne savent pas, on prend un nombre, s'il est pair on divise par 2 et sinon on le multiplie par 3 et on lui ajoute 1, on recommence avec le résultat, il semblerait, même si ce n'est pas démontré qu'on retombe toujours sur 1 peu importe le nombre de départ.



Il fonctionne très bien, par contre je ne comprends pas pourquoi il ne fonctionne pas si je l'écrit comme ça :

Code: Tout sélectionner
@echo off

del fichier.txt

set /a compteur=1
set /a comparateur=100

set /p result=Nombre a tester:

:eof

echo %compteur% >> fichier.txt

if %result%==1 (
echo %result%
echo FINI
PAUSE > nul
set /a compteur=compteur +1
goto eof) 

if %result% %%2 ==0 (
echo %result%
set/a result = result /2
REM PAUSE > nul
set /a compteur=compteur +1
goto eof)

if not %result% %%2 ==0 (
echo %result%
set/a result = 3*result +1
REM PAUSE > nul
set /a compteur=compteur +1
goto eof)
mlkgiosn
Apprenti(e) Expert(e)
Apprenti(e) Expert(e)
 
Messages: 403
Inscription: 09 Avr 2010 13:54
 

Re: Copier tous les fichier d'un même type en bat

Message le 07 Juin 2021 20:42

Bonsoir Mlkgiosn,

mlkgiosn a écrit:Pour m'entrainer j'ai écrit ce code (oui chacun son niveau :lol: ) :



Il fonctionne très bien, par contre je ne comprends pas pourquoi il ne fonctionne pas si je l'écrit comme ça :

Code: Tout sélectionner
@echo off

del fichier.txt

set /a compteur=1
set /a comparateur=100

set /p result=Nombre a tester:

:eof

echo %compteur% >> fichier.txt

if %result%==1 (
echo %result%
echo FINI
PAUSE > nul
set /a compteur=compteur +1
goto eof) 

if %result% %%2 ==0 (
echo %result%
set/a result = result /2
REM PAUSE > nul
set /a compteur=compteur +1
goto eof)

if not %result% %%2 ==0 (
echo %result%
set/a result = 3*result +1
REM PAUSE > nul
set /a compteur=compteur +1
goto eof)


Variable et valeur de la variable non déclare dans ce batch, est ce voulu pour toi ?

Code: Tout sélectionner
set/a variable=result %%2


Normalement, tu as 2 variables à déclarer.


Cela longtemps que je n'ai plus pratiqué le batch. C'est pas que je ne veux pas te répondre explicitement mais éventuellement tu peux poser ta problématique sur le forum Batcher


Bonne soirée
Avatar de l'utilisateur
heracles
Expert(e)
Expert(e)
 
Messages: 1876
Inscription: 02 Juin 2014 19:18
 

Re: Copier tous les fichier d'un même type en bat

Message le 07 Juin 2021 21:03

La variable (que j'ai simplement appelé "variable" d'ailleurs :lol: ) n'est pas utilisé dans le 2ème code, je ne l'ai donc pas déclaré.

J'ai l'impression que ce sont les "If %result% %%2" (echo .....)" qui ne fonctionnent pas, et je comprend pas bien pourquoi.
mlkgiosn
Apprenti(e) Expert(e)
Apprenti(e) Expert(e)
 
Messages: 403
Inscription: 09 Avr 2010 13:54
 

Re: Copier tous les fichier d'un même type en bat

Message le 08 Juin 2021 08:43

Bonjour Mlkgiosn,

mlkgiosn a écrit:J'ai l'impression que ce sont les "If %result% %%2" (echo .....)" qui ne fonctionnent pas, et je comprend pas bien pourquoi.



For %%2 if %result%==0 serait plus approprié, tu en penses quoi ?

Je n'ai pas encore ton niveau. Peut être que je me trompe mais le problème lorsque que l'on utilise plus d'une condition dans un batch, il vaut mieux faire usage de setlocal enabledelayedexpansion et endlocal pour encadré ces boucles.
Cela permet d'éviter la confusion des variables utilisées dans la boucle avec les variable utilisée dans la condition de contrôle: l'expansion de la variable permet de retarder le résultat de la condition de contrôle qui seras prise en compte uniquement lorsque que la boucle For seras terminée afin d'avoir un résultat logique.


Tu as essayé ceci pour tes conditions:

Code: Tout sélectionner
setlocal enabledelayedexpansion

if %result%==1 (
 echo %result%
echo FINI
PAUSE > nul
set /a compteur=compteur +1
goto eof) 

ENDLOCAL


setlocal enabledelayedexpansion

For %%2 if %result%==0

) do (
echo %result%
set/a result = result /2
REM PAUSE > nul
set /a compteur=compteur +1
goto eof)

Endlocal


setlocal enabledelayedexpansion

For %%2 if %result%==0

) do (
echo %result%
set/a result = 3*result +1
REM PAUSE > nul
set /a compteur=compteur +1
goto eof)

Endlocal


Tu as un petit logiciel pour tester et debboguer tes batchs PowerBatch

Bonne journée
Avatar de l'utilisateur
heracles
Expert(e)
Expert(e)
 
Messages: 1876
Inscription: 02 Juin 2014 19:18
 

Re: Copier tous les fichier d'un même type en bat

Message le 09 Juin 2021 09:39

Bonjour.

Non justement je dis chacun son niveau car je trouve que c'est moi qui n'y comprend "rien", je me serai pas permis de dire l'inverse :wink: .

D'ailleurs j'ai voulu améliorer mon programme en faisant en sorte de ne pas demander un chiffre à l'utilisateur, mais que le programme teste lui-même d'abord pour 1, puis pour 2, puis pour 3, etc...

J'ai voulu fait ça pour m'entrainer à l'utilisation de la boucle for, mais pas moyen :( .

J'ai réussi à faire quelque chose, sans la boucle for, mais quand j'arrive à 1, il recommence à 2, donc refini à 1, et je tombe dans une boucle infinie...
mlkgiosn
Apprenti(e) Expert(e)
Apprenti(e) Expert(e)
 
Messages: 403
Inscription: 09 Avr 2010 13:54
 

Re: Copier tous les fichier d'un même type en bat

Message le 09 Juin 2021 18:56

mlkgiosn a écrit:Bonjour.

Non justement je dis chacun son niveau car je trouve que c'est moi qui n'y comprend "rien", je me serai pas permis de dire l'inverse :wink: .


Ne t'inquiète pas alors, j'ai le même niveau que toi. :wink:

Mlkgiosn a écrit:D'ailleurs j'ai voulu améliorer mon programme en faisant en sorte de ne pas demander un chiffre à l'utilisateur, mais que le programme teste lui-même d'abord pour 1, puis pour 2, puis pour 3, etc...

J'ai voulu fait ça pour m'entrainer à l'utilisation de la boucle for, mais pas moyen :( .

J'ai réussi à faire quelque chose, sans la boucle for, mais quand j'arrive à 1, il recommence à 2, donc refini à 1, et je tombe dans une boucle infinie...



Je comprends ce que tu veux faire mais j'ai perdu la main sur le batch. Au fil des années, je me suis orienté sur la désinfection des PCs (je suis plus à l'aise sur l'éradiction des "virus".


Comme je l'ai dit, le mieux est de te renseigner sur le forum batch où il y a plus de spécialistes. A moins qu'une personne ayant des connaissances en batch sur ce forum.
heracles a écrit:Bonsoir Mlkgiosn,

Cela longtemps que je n'ai plus pratiqué le batch. C'est pas que je ne veux pas te répondre explicitement mais éventuellement tu peux poser ta problématique sur le forum Batcher



Bonne soirée
Avatar de l'utilisateur
heracles
Expert(e)
Expert(e)
 
Messages: 1876
Inscription: 02 Juin 2014 19:18
 

Re: Copier tous les fichier d'un même type en bat

Message le 15 Juin 2021 20:58

Désolé j'avais pas répondu, mais merci pour la réponse ;) .

Ça m'a l'air bien plus compliqué que je croyais en tous cas, pour faire un truc tout simple mdr.
mlkgiosn
Apprenti(e) Expert(e)
Apprenti(e) Expert(e)
 
Messages: 403
Inscription: 09 Avr 2010 13:54
 



Sujets similaires

Message Intégrer fichier audio dans story instagram
Bonjour Gàbor, Tu as essayé ceci. Voir rubrique "Ajouter de la musique à un Story Instagram depuis son mobile Android"Bonne journée
Réponses: 1

Message Problème envoi fichier PDF
BonjourJ'aimerai envoyer un fichier PDF à un destinataire, sauf que je veux qu'il arrive en image "brute" si j'ose m'exprimer ainsi. je m'explique, mon fichier est sur acrobat et quand je l'envoi le destinataire à le document mais avec les plages d'illustration, etc...je prends comme exemp ...
Réponses: 2

Message Fichier PDF
Hello à tousne sachant pas sur quel forum aller je me tourne vers vousmon CV est au format PDF, j'ai changer de numéro de portable et j'aimerai savoir si y a possibilité de corriger ce numéro merci
Réponses: 7

Message souci fichier swf de videosurveillance
BonjourJ'ai un vieux système de vidéo-surveillance qui vient de tomber en panne. J'ai réussi à récupérer les fichier en SWF mais IMPOSSIBLE de les lire! J'ai essayé de les convertir, d'utiliser plusieurs logiciels de lecture, tous me disent: "erreur de lecture" et ce sur l'ensemble des fic ...
Réponses: 4

Message installation d'un fichier compressé tar.gz
BonjourA chaque fois que j'ai ce genre de chose a faire, ça me donne l'impression d'être encore un débutant avec linux. Ce que j'ai trouvé sur le net, ne m'aide pas du tout, les explications ne correspondent pas à ce que j'ai. Comment puis-je installé, ce truc secret. Merci
Réponses: 7

Message Fichier ".ssoi" ... le retour.
Voilà les fichiers après analyse:Shortcut.txtFRST.txtAddition.txt
Réponses: 18

Message [Résolu] Fichier ".ssoi"
BonjourJ'ai été hacké par un ransomware qui me réclame 980 $ pour me donner une cléf pour décripter les fichiers virolés.voilà ce que j'ai déjà fait :- J'ai formaté mon dd externe deux fois pour tout supprimer ces cochonneries qui se sont logés dans mes fichiers audio, j'avais une sauvegarde sur un ...
Réponses: 15


Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 2 invités


.: Nous contacter :: Flux RSS :: Données personnelles :.