SCRIPT pour REMPLACER un CARACTERE lors du NOMMAGE des FICHIERS sur WINDOWS 10

ChiracVousAime
2023-01-07 18:03:32

Le 07 janvier 2023 à 18:01:06 :

Le 07 janvier 2023 à 17:57:59 :
A copier coller dans un fichier .bat où se trouve tes dossiers

@echo off
setlocal enabledelayedexpansion

rem Obtenir le chemin du répertoire courant
set "currentDirectory=%cd%"

rem Charger les noms de répertoire à partir du fichier txt
set i=0
for /f "tokens=*" %%a in (names.txt) do (
set /a i+=1
set "name[!i!]=%%a"
)

rem Parcourir les répertoires dans le répertoire courant
for /d %%d in ("%currentDirectory%\*") do (
set /a i-=1

rem Si le nom contient des deux-points, remplacer par des points-virgules
set "newName=!name[!i!]!"
set "newName=!newName:/=;"

rem Renommer le répertoire
ren "%%d" "!newName!"
)

echo Tous les répertoires ont été renommés.

Dans ton fichier name.txt tu liste le nouveau nom des repertoire

c'est mieux de faire comme toi ou comme moi en python ?

L'environnement python n'est pas installé par défaut sur Windows
Si t'y connais rien c'est trop galère, reste sur du batch (.bat)

JusdEauRange15
2023-01-07 18:04:22

Le 07 janvier 2023 à 18:03:32 :

Le 07 janvier 2023 à 18:01:06 :

Le 07 janvier 2023 à 17:57:59 :
A copier coller dans un fichier .bat où se trouve tes dossiers

@echo off
setlocal enabledelayedexpansion

rem Obtenir le chemin du répertoire courant
set "currentDirectory=%cd%"

rem Charger les noms de répertoire à partir du fichier txt
set i=0
for /f "tokens=*" %%a in (names.txt) do (
set /a i+=1
set "name[!i!]=%%a"
)

rem Parcourir les répertoires dans le répertoire courant
for /d %%d in ("%currentDirectory%\*") do (
set /a i-=1

rem Si le nom contient des deux-points, remplacer par des points-virgules
set "newName=!name[!i!]!"
set "newName=!newName:/=;"

rem Renommer le répertoire
ren "%%d" "!newName!"
)

echo Tous les répertoires ont été renommés.

Dans ton fichier name.txt tu liste le nouveau nom des repertoire

c'est mieux de faire comme toi ou comme moi en python ?

L'environnement python n'est pas installé par défaut sur Windows
Si t'es connais rien c'est trop galère, reste sur du batch (.bat)

comment on installe un environnement python ? un tuto ?

ChiracVousAime
2023-01-07 18:05:18

Le 07 janvier 2023 à 18:04:22 :

Le 07 janvier 2023 à 18:03:32 :

Le 07 janvier 2023 à 18:01:06 :

Le 07 janvier 2023 à 17:57:59 :
A copier coller dans un fichier .bat où se trouve tes dossiers

@echo off
setlocal enabledelayedexpansion

rem Obtenir le chemin du répertoire courant
set "currentDirectory=%cd%"

rem Charger les noms de répertoire à partir du fichier txt
set i=0
for /f "tokens=*" %%a in (names.txt) do (
set /a i+=1
set "name[!i!]=%%a"
)

rem Parcourir les répertoires dans le répertoire courant
for /d %%d in ("%currentDirectory%\*") do (
set /a i-=1

rem Si le nom contient des deux-points, remplacer par des points-virgules
set "newName=!name[!i!]!"
set "newName=!newName:/=;"

rem Renommer le répertoire
ren "%%d" "!newName!"
)

echo Tous les répertoires ont été renommés.

Dans ton fichier name.txt tu liste le nouveau nom des repertoire

c'est mieux de faire comme toi ou comme moi en python ?

L'environnement python n'est pas installé par défaut sur Windows
Si t'es connais rien c'est trop galère, reste sur du batch (.bat)

comment on installe un environnement python ? un tuto ?

Fais du .bat c'est aussi efficace pour ce que tu veux faire

Malheur
2023-01-07 18:05:44

Le
Il faut installer un environnement python, c'est trop compliqué pour l'OP

Bah taper download python dans google et mettre .py a la fin du cfichier au lieu de bat

JusdEauRange15
2023-01-07 18:06:01

Le 07 janvier 2023 à 18:05:18 :

Le 07 janvier 2023 à 18:04:22 :

Le 07 janvier 2023 à 18:03:32 :

Le 07 janvier 2023 à 18:01:06 :

Le 07 janvier 2023 à 17:57:59 :
A copier coller dans un fichier .bat où se trouve tes dossiers

@echo off
setlocal enabledelayedexpansion

rem Obtenir le chemin du répertoire courant
set "currentDirectory=%cd%"

rem Charger les noms de répertoire à partir du fichier txt
set i=0
for /f "tokens=*" %%a in (names.txt) do (
set /a i+=1
set "name[!i!]=%%a"
)

rem Parcourir les répertoires dans le répertoire courant
for /d %%d in ("%currentDirectory%\*") do (
set /a i-=1

rem Si le nom contient des deux-points, remplacer par des points-virgules
set "newName=!name[!i!]!"
set "newName=!newName:/=;"

rem Renommer le répertoire
ren "%%d" "!newName!"
)

echo Tous les répertoires ont été renommés.

Dans ton fichier name.txt tu liste le nouveau nom des repertoire

c'est mieux de faire comme toi ou comme moi en python ?

L'environnement python n'est pas installé par défaut sur Windows
Si t'es connais rien c'est trop galère, reste sur du batch (.bat)

comment on installe un environnement python ? un tuto ?

Fais du .bat c'est aussi efficace pour ce que tu veux faire

c'est quoi du .bat
c'est toi qui a demandé à l'ia de faire en .bat ?

ChiracVousAime
2023-01-07 18:07:28

Le 07 janvier 2023 à 18:06:01 :

Le 07 janvier 2023 à 18:05:18 :

Le 07 janvier 2023 à 18:04:22 :

Le 07 janvier 2023 à 18:03:32 :

Le 07 janvier 2023 à 18:01:06 :

> Le 07 janvier 2023 à 17:57:59 :

>A copier coller dans un fichier .bat où se trouve tes dossiers

>

> @echo off

> setlocal enabledelayedexpansion

>

> rem Obtenir le chemin du répertoire courant

> set "currentDirectory=%cd%"

>

> rem Charger les noms de répertoire à partir du fichier txt

> set i=0

> for /f "tokens=*" %%a in (names.txt) do (

> set /a i+=1

> set "name[!i!]=%%a"

> )

>

> rem Parcourir les répertoires dans le répertoire courant

> for /d %%d in ("%currentDirectory%\*") do (

> set /a i-=1

>

> rem Si le nom contient des deux-points, remplacer par des points-virgules

> set "newName=!name[!i!]!"

> set "newName=!newName:/=;"

>

> rem Renommer le répertoire

> ren "%%d" "!newName!"

> )

>

> echo Tous les répertoires ont été renommés.

>

> Dans ton fichier name.txt tu liste le nouveau nom des repertoire

c'est mieux de faire comme toi ou comme moi en python ?

L'environnement python n'est pas installé par défaut sur Windows
Si t'es connais rien c'est trop galère, reste sur du batch (.bat)

comment on installe un environnement python ? un tuto ?

Fais du .bat c'est aussi efficace pour ce que tu veux faire

c'est quoi du .bat
c'est toi qui a demandé à l'ia de faire en .bat ?

Oui, c'est le langage de script par défaut de Windows

Giroud2034
2023-01-07 18:07:40

Ce dont tu auras besoin :

Voici un script qui peut être utilisé pour remplacer un caractère dans le nom de fichiers sur Windows 10:

@echo off
setlocal enabledelayedexpansion

set "search=%1"
set "replace=%2"
set "path=%3"

if "%path%"=="" (
set "path=%cd%"
)

pushd "%path%"

for /f "delims=" %%i in ('dir /b /a-d /s') do (
set "filename=%%i"
set "newname=!filename:%search%=%replace%!"
if not "!filename!" == "!newname!" (
ren "!filename!" "!newname!"
)
)

popd

Pour l'utiliser, ouvrez une invite de commandes et naviguez jusqu'à l'emplacement où se trouve le script. Ensuite, utilisez la commande suivante:

replace.bat <caractère à rechercher> <caractère de remplacement> <chemin du répertoire>

Par exemple, si vous voulez remplacer tous les espaces dans les noms de fichiers du répertoire courant par des tirets, vous pouvez utiliser la commande suivante:

replace.bat " " "-"

Notez que le script remplacera toutes les occurences du caractère recherché dans les noms de fichiers, y compris dans les sous-répertoires.

Le tuto :

Voici une marche à suivre étape par étape pour utiliser le script de remplacement de caractères dans les noms de fichiers sur Windows 10:

1 - Ouvrez l'éditeur de texte de votre choix (par exemple, Bloc-notes) et copiez-y le script ci-dessus.

2 - Enregistrez le fichier en tant que "replace.bat" dans un emplacement accessible (par exemple, sur votre bureau).

3 - Ouvrez une invite de commandes. Pour ce faire, appuyez sur la touche Windows + R, tapez "cmd" et appuyez sur Entrée.

4 - Utilisez la commande "cd" pour naviguer jusqu'à l'emplacement où vous avez enregistré le script "replace.bat". Par exemple, si vous l'avez enregistré sur votre bureau, utilisez la commande suivante:
cd C:\Utilisateurs\Nom_utilisateur\Bureau

5 - Utilisez la commande suivante pour exécuter le script, en remplaçant <caractère à rechercher> par le caractère que vous souhaitez remplacer, <caractère de remplacement> par le caractère que vous voulez utiliser pour remplacer et <chemin du répertoire> par le chemin du répertoire contenant les fichiers à renommer (optionnel, si vous voulez travailler dans un répertoire différent du répertoire courant):
replace.bat <caractère à rechercher> <caractère de remplacement> <chemin du répertoire>

Par exemple, si vous voulez remplacer tous les espaces dans les noms de fichiers du répertoire courant par des tirets, vous pouvez utiliser la commande suivante: replace.bat " " "-"

Le script va parcourir récursivement tous les fichiers du répertoire et de ses sous-répertoires et remplacera toutes les occurences du caractère recherché par le caractère de remplacement dans leurs noms.

6 - Si vous voulez arrêter le script avant qu'il ait fini de parcourir tous les fichiers, appuyez sur Ctrl + C.

0175c67882
2023-01-07 18:08:41

16 dossiers. Le temps de faire le topic ça serait déjà terminé.https://image.noelshack.com/fichiers/2022/38/4/1663852709-golemabasourdi.png

ChiracVousAime
2023-01-07 18:09:24

Le 07 janvier 2023 à 18:08:41 :
16 dossiers. Le temps de faire le topic ça serait déjà terminé.https://image.noelshack.com/fichiers/2022/38/4/1663852709-golemabasourdi.png

Ayyyyaa, 100% sur que c'est un troll

JusdEauRange15
2023-01-07 18:10:10

Le 07 janvier 2023 à 18:08:41 :
16 dossiers. Le temps de faire le topic ça serait déjà terminé.https://image.noelshack.com/fichiers/2022/38/4/1663852709-golemabasourdi.png

ça peut servir dans le futur

Giroud2034
2023-01-07 18:10:14

J'espère que ce que j'ai posté dernièrement fonctionne...

JusdEauRange15
2023-01-07 18:11:14

Le 07 janvier 2023 à 18:07:40 :
Ce dont tu auras besoin :

Voici un script qui peut être utilisé pour remplacer un caractère dans le nom de fichiers sur Windows 10:

@echo off
setlocal enabledelayedexpansion

set "search=%1"
set "replace=%2"
set "path=%3"

if "%path%"=="" (
set "path=%cd%"
)

pushd "%path%"

for /f "delims=" %%i in ('dir /b /a-d /s') do (
set "filename=%%i"
set "newname=!filename:%search%=%replace%!"
if not "!filename!" == "!newname!" (
ren "!filename!" "!newname!"
)
)

popd

Pour l'utiliser, ouvrez une invite de commandes et naviguez jusqu'à l'emplacement où se trouve le script. Ensuite, utilisez la commande suivante:

replace.bat <caractère à rechercher> <caractère de remplacement> <chemin du répertoire>

Par exemple, si vous voulez remplacer tous les espaces dans les noms de fichiers du répertoire courant par des tirets, vous pouvez utiliser la commande suivante:

replace.bat " " "-"

Notez que le script remplacera toutes les occurences du caractère recherché dans les noms de fichiers, y compris dans les sous-répertoires.

Le tuto :

Voici une marche à suivre étape par étape pour utiliser le script de remplacement de caractères dans les noms de fichiers sur Windows 10:

1 - Ouvrez l'éditeur de texte de votre choix (par exemple, Bloc-notes) et copiez-y le script ci-dessus.

2 - Enregistrez le fichier en tant que "replace.bat" dans un emplacement accessible (par exemple, sur votre bureau).

3 - Ouvrez une invite de commandes. Pour ce faire, appuyez sur la touche Windows + R, tapez "cmd" et appuyez sur Entrée.

4 - Utilisez la commande "cd" pour naviguer jusqu'à l'emplacement où vous avez enregistré le script "replace.bat". Par exemple, si vous l'avez enregistré sur votre bureau, utilisez la commande suivante:
cd C:\Utilisateurs\Nom_utilisateur\Bureau

5 - Utilisez la commande suivante pour exécuter le script, en remplaçant <caractère à rechercher> par le caractère que vous souhaitez remplacer, <caractère de remplacement> par le caractère que vous voulez utiliser pour remplacer et <chemin du répertoire> par le chemin du répertoire contenant les fichiers à renommer (optionnel, si vous voulez travailler dans un répertoire différent du répertoire courant):
replace.bat <caractère à rechercher> <caractère de remplacement> <chemin du répertoire>

Par exemple, si vous voulez remplacer tous les espaces dans les noms de fichiers du répertoire courant par des tirets, vous pouvez utiliser la commande suivante: replace.bat " " "-"

Le script va parcourir récursivement tous les fichiers du répertoire et de ses sous-répertoires et remplacera toutes les occurences du caractère recherché par le caractère de remplacement dans leurs noms.

6 - Si vous voulez arrêter le script avant qu'il ait fini de parcourir tous les fichiers, appuyez sur Ctrl + C.

merci je regarde

ChiracVousAime
2023-01-07 18:12:20

Le 07 janvier 2023 à 18:10:14 :
J'espère que ce que j'ai posté dernièrement fonctionne...

Ça ne va pas fonctionner ...

Un fichier windows ne peut pas contenir ":"

Giroud2034
2023-01-07 18:14:01

Le 07 janvier 2023 à 18:12:20 :

Le 07 janvier 2023 à 18:10:14 :
J'espère que ce que j'ai posté dernièrement fonctionne...

Ça ne va pas fonctionner ...

Un fichier windows ne peut pas contenir ":"

Je vais demander à l'IA de le refaire alors...

ChiracVousAime
2023-01-07 18:16:10

Le 07 janvier 2023 à 18:14:01 :

Le 07 janvier 2023 à 18:12:20 :

Le 07 janvier 2023 à 18:10:14 :
J'espère que ce que j'ai posté dernièrement fonctionne...

Ça ne va pas fonctionner ...

Un fichier windows ne peut pas contenir ":"

Je vais demander à l'IA de le refaire alors...

Tu vas dire quoi ?

Refais ton script IA, ça marche pas ?

Giroud2034
2023-01-07 18:17:10

Le 07 janvier 2023 à 18:16:10 :

Le 07 janvier 2023 à 18:14:01 :

Le 07 janvier 2023 à 18:12:20 :

Le 07 janvier 2023 à 18:10:14 :
J'espère que ce que j'ai posté dernièrement fonctionne...

Ça ne va pas fonctionner ...

Un fichier windows ne peut pas contenir ":"

Je vais demander à l'IA de le refaire alors...

Tu vas dire quoi ?

Refais ton script IA, ça marche pas ?

Lui mentionner son erreur pour qu'il l'a corrige

Giroud2034
2023-01-07 18:19:02

Vous avez raison, un nom de fichier sous Windows ne peut pas contenir le caractère ":". Si vous essayez de remplacer un caractère par le caractère ":", le script va générer une erreur "Le nom de fichier, de répertoire ou de volume de syntaxe est incorrect."

Il existe plusieurs façons de contourner ce problème. Voici une solution possible:

1 - Ouvrez l'éditeur de texte de votre choix (par exemple, Bloc-notes) et copiez-y le script ci-dessous:

@echo off
setlocal enabledelayedexpansion

set "search=%1"
set "replace=%2"
set "path=%3"

if "%path%"=="" (
set "path=%cd%"
)

pushd "%path%"

for /f "delims=" %%i in ('dir /b /a-d /s') do (
set "filename=%%i"
set "newname=!filename:%search%=%replace%!"
set "newname=!newname:?:=!"
if not "!filename!" == "!newname!" (
ren "!filename!" "!newname!"
)
)

popd

2 - Enregistrez le fichier en tant que "replace.bat" dans un emplacement accessible (par exemple, sur votre bureau).

3 - Ouvrez une invite de commandes et naviguez jusqu'à l'emplacement où vous avez enregistré le script "replace.bat" en utilisant la commande "cd".

4 - Utilisez la commande suivante pour exécuter le script, en remplaçant <caractère à rechercher> par le caractère que vous souhaitez remplacer et <caractère de remplacement> par le caractère que vous voulez utiliser pour remplacer (le caractère ":" ne peut pas être utilisé comme caractère de remplacement):

replace.bat <caractère à rechercher> <caractère de remplacement> <chemin du répertoire>

Par exemple, si vous voulez remplacer tous les espaces dans les noms de fichiers du répertoire courant par des tirets, vous pouvez utiliser la commande suivante:

replace.bat " " "-"

Le script va parcourir récursivement tous les fichiers du répertoire et de ses sous-répertoires et remplacera toutes les occurences du caractère recherché par le caractère de remplacement dans leurs noms. Si le caractère de remplacement est ":", il sera automatiquement remplacé par un espace vide, ce qui signifie que le caractère ne sera pas ajouté au nom de fichier.

5 - Si vous voulez arrêter le script avant qu'il ait fini de parcourir tous les fichiers, appuyez sur Ctrl + C.

Je vous recommande également de faire une sauvegarde de vos fichiers avant de lancer le script, au cas où vous feriez une erreur de syntaxe ou si vous changeriez d'avis sur les modifications à apporter aux noms de fichiers.

Je vous souhaite une bonne utilisation de ce script ! Si vous avez des questions ou si vous avez besoin d'aide supplémentaire, n'hésitez pas à me poser des questions.

ChiracVousAime
2023-01-07 18:20:42

Le 07 janvier 2023 à 18:19:02 :
Vous avez raison, un nom de fichier sous Windows ne peut pas contenir le caractère ":". Si vous essayez de remplacer un caractère par le caractère ":", le script va générer une erreur "Le nom de fichier, de répertoire ou de volume de syntaxe est incorrect."

Il existe plusieurs façons de contourner ce problème. Voici une solution possible:

1 - Ouvrez l'éditeur de texte de votre choix (par exemple, Bloc-notes) et copiez-y le script ci-dessous:

@echo off
setlocal enabledelayedexpansion

set "search=%1"
set "replace=%2"
set "path=%3"

if "%path%"=="" (
set "path=%cd%"
)

pushd "%path%"

for /f "delims=" %%i in ('dir /b /a-d /s') do (
set "filename=%%i"
set "newname=!filename:%search%=%replace%!"
set "newname=!newname:?:=!"
if not "!filename!" == "!newname!" (
ren "!filename!" "!newname!"
)
)

popd

2 - Enregistrez le fichier en tant que "replace.bat" dans un emplacement accessible (par exemple, sur votre bureau).

3 - Ouvrez une invite de commandes et naviguez jusqu'à l'emplacement où vous avez enregistré le script "replace.bat" en utilisant la commande "cd".

4 - Utilisez la commande suivante pour exécuter le script, en remplaçant <caractère à rechercher> par le caractère que vous souhaitez remplacer et <caractère de remplacement> par le caractère que vous voulez utiliser pour remplacer (le caractère ":" ne peut pas être utilisé comme caractère de remplacement):

replace.bat <caractère à rechercher> <caractère de remplacement> <chemin du répertoire>

Par exemple, si vous voulez remplacer tous les espaces dans les noms de fichiers du répertoire courant par des tirets, vous pouvez utiliser la commande suivante:

replace.bat " " "-"

Le script va parcourir récursivement tous les fichiers du répertoire et de ses sous-répertoires et remplacera toutes les occurences du caractère recherché par le caractère de remplacement dans leurs noms. Si le caractère de remplacement est ":", il sera automatiquement remplacé par un espace vide, ce qui signifie que le caractère ne sera pas ajouté au nom de fichier.

5 - Si vous voulez arrêter le script avant qu'il ait fini de parcourir tous les fichiers, appuyez sur Ctrl + C.

Je vous recommande également de faire une sauvegarde de vos fichiers avant de lancer le script, au cas où vous feriez une erreur de syntaxe ou si vous changeriez d'avis sur les modifications à apporter aux noms de fichiers.

Je vous souhaite une bonne utilisation de ce script ! Si vous avez des questions ou si vous avez besoin d'aide supplémentaire, n'hésitez pas à me poser des questions.

T'as pas compris la demande de l'OP

J'espère que tu bosses pas dans l'informatique :peur:

Giroud2034
2023-01-07 18:22:34

Le 07 janvier 2023 à 18:20:42 :

Le 07 janvier 2023 à 18:19:02 :
Vous avez raison, un nom de fichier sous Windows ne peut pas contenir le caractère ":". Si vous essayez de remplacer un caractère par le caractère ":", le script va générer une erreur "Le nom de fichier, de répertoire ou de volume de syntaxe est incorrect."

Il existe plusieurs façons de contourner ce problème. Voici une solution possible:

1 - Ouvrez l'éditeur de texte de votre choix (par exemple, Bloc-notes) et copiez-y le script ci-dessous:

@echo off
setlocal enabledelayedexpansion

set "search=%1"
set "replace=%2"
set "path=%3"

if "%path%"=="" (
set "path=%cd%"
)

pushd "%path%"

for /f "delims=" %%i in ('dir /b /a-d /s') do (
set "filename=%%i"
set "newname=!filename:%search%=%replace%!"
set "newname=!newname:?:=!"
if not "!filename!" == "!newname!" (
ren "!filename!" "!newname!"
)
)

popd

2 - Enregistrez le fichier en tant que "replace.bat" dans un emplacement accessible (par exemple, sur votre bureau).

3 - Ouvrez une invite de commandes et naviguez jusqu'à l'emplacement où vous avez enregistré le script "replace.bat" en utilisant la commande "cd".

4 - Utilisez la commande suivante pour exécuter le script, en remplaçant <caractère à rechercher> par le caractère que vous souhaitez remplacer et <caractère de remplacement> par le caractère que vous voulez utiliser pour remplacer (le caractère ":" ne peut pas être utilisé comme caractère de remplacement):

replace.bat <caractère à rechercher> <caractère de remplacement> <chemin du répertoire>

Par exemple, si vous voulez remplacer tous les espaces dans les noms de fichiers du répertoire courant par des tirets, vous pouvez utiliser la commande suivante:

replace.bat " " "-"

Le script va parcourir récursivement tous les fichiers du répertoire et de ses sous-répertoires et remplacera toutes les occurences du caractère recherché par le caractère de remplacement dans leurs noms. Si le caractère de remplacement est ":", il sera automatiquement remplacé par un espace vide, ce qui signifie que le caractère ne sera pas ajouté au nom de fichier.

5 - Si vous voulez arrêter le script avant qu'il ait fini de parcourir tous les fichiers, appuyez sur Ctrl + C.

Je vous recommande également de faire une sauvegarde de vos fichiers avant de lancer le script, au cas où vous feriez une erreur de syntaxe ou si vous changeriez d'avis sur les modifications à apporter aux noms de fichiers.

Je vous souhaite une bonne utilisation de ce script ! Si vous avez des questions ou si vous avez besoin d'aide supplémentaire, n'hésitez pas à me poser des questions.

T'as pas compris la demande de l'OP

J'espère que tu bosses pas dans l'informatique :peur:

Bah c'est pas moi qui n'ai pas compris la demande de l'OP, c'est l'IA...

Giroud2034
2023-01-07 18:26:20

Bon je suis en train de faire mon propre script, tu peux m'aider ChiracVousAime ?

Infos
Gestion du forum

contact@geevey.com

API disponible. Utilisez le paramètre "api" en GET, peu importe le contenu, sur une page du site.

Notes

    ⚠️ Les archives de novembre sont désormais disponibles.
Non-assumage
    Personne n'a pas assumé de topic pour le moment.