Il y a actuellement 191 visiteurs
Samedi 02 Novembre 2024
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: 404
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
PC-Infopraticien
PC-Infopraticien
 
Messages: 2626
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: 404
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
PC-Infopraticien
PC-Infopraticien
 
Messages: 2626
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: 404
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
PC-Infopraticien
PC-Infopraticien
 
Messages: 2626
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: 404
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
PC-Infopraticien
PC-Infopraticien
 
Messages: 2626
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: 404
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
PC-Infopraticien
PC-Infopraticien
 
Messages: 2626
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: 404
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
PC-Infopraticien
PC-Infopraticien
 
Messages: 2626
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: 404
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
PC-Infopraticien
PC-Infopraticien
 
Messages: 2626
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: 404
Inscription: 09 Avr 2010 13:54
 



Sujets similaires

Message Récupération fichier disparu sur Windows 10
Bonjour,En tapant dans Word, le texte a subitement dusparu. Impossible de le récupérer. Je l'avais déja partiellement enregistré la veille : impossible également derécupérer ce dernier. Que faire ? Toutce que j'ai pu récupérer c'est une partie du texte que j'avais enregistré préalablement dans Drive ...
Réponses: 1

Message Fichier HEVC
Bonjour jai transférer des fichiers photos et vidéo,de mon smartphone sur mon pc , les vidéo sont au format HEVC le problème quand je veux les lire sur le pcCa marche pas , il a pas les codecs Comment je peu faire pour les mettre sur le pc Merci
Réponses: 4

Message [Réglé] Fichier ADMINISTRATEUR n apparait plus
Bonjour,Je n'arrive plus à faire apparaître le fichier administrateurj'avais cliqué sur WINDOWS puis sur UTILISATEURensuite j'ai fait un clique droit sur ADMINISTRATEUR j'ai fait une erreur DANS PROPRIETE j'ai coché la case Cachédepuis le fichier est introuvableComment le récupérer merci
Réponses: 2

Message Renommer/supprimer des fichier avec caractères spéciaux
Salut,Sur un disque externe (NTFS) je me suis retrouvé avec des fichiers nommés sous la forme "10-XML::SAX::PurePerl" ou "Authen::SASL::Perl::GSSAPI.3pm.gz".Je veux virer tout ça, mais impossible car ils contiennent des ":".Très confiant, j'ai pris mon système préféré, ...
Réponses: 3

Message [Réglé] Aide pour analyse fichier FRST
Bonsoir,J'ai une fenêtre Powershell.exe qui s'ouvre et se ferme quelques minutes après le démarrage et ca n'était pas le cas avant.Mise à jour windows et mise à jour Nvidia récente.J'ai effectué une analyse et j'ai obtenu les fichiers texte suivants.Est ce que quelqu'un peut m'aider et me dire de qu ...
Réponses: 7

Message [Réglé] Streaming : Télécharger un fichier mp3
Bonjour à toutes et à tous,J'espère que ma question n'est pas hors charte. Si elle l'est, je vous prie de m'en excuser et vous pourrez supprimer mon topic.Je souhaiterais télécharger cette émission :Le problème étant réglé, le lien ayant perdu toute nécessité a été suppriméJ'ai cliqué droit sur la f ...
Réponses: 1

Message possibilité de copier contenu d'un mobile sur tablette
Bonjour,Un collègue souhaiterait sauvegarder le contenu de son mobile (Samsung a 13) sur sa tablette par sécurité car il n'a pas de pc, est-ce possible en branchant une clé OTG par ex ? MerciCordialement
Réponses: 2


Qui est en ligne

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


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