Liste de fichiers dans une variable
Fermé
BlueskyFR
Messages postés
74
Date d'inscription
dimanche 2 février 2014
Statut
Membre
Dernière intervention
28 décembre 2015
-
13 sept. 2015 à 11:17
BlueskyFR Messages postés 74 Date d'inscription dimanche 2 février 2014 Statut Membre Dernière intervention 28 décembre 2015 - 26 sept. 2015 à 11:17
BlueskyFR Messages postés 74 Date d'inscription dimanche 2 février 2014 Statut Membre Dernière intervention 28 décembre 2015 - 26 sept. 2015 à 11:17
A voir également:
- Liste de fichiers dans une variable
- Liste déroulante excel - Guide
- Liste déroulante en cascade - Guide
- Explorateur de fichiers - Guide
- Wetransfer gratuit fichiers lourd - Guide
- Renommer plusieurs fichiers en même temps - Guide
5 réponses
dubcek
Messages postés
18765
Date d'inscription
lundi 15 janvier 2007
Statut
Contributeur
Dernière intervention
20 février 2025
5 625
13 sept. 2015 à 13:55
13 sept. 2015 à 13:55
hello
et comme ca ?
et comme ca ?
set liste=
for /f "tokens=*" %%a In ('dir /s /b /a-d *.ico') Do set liste=!liste! "%%a"
echo !liste!
BlueskyFR
Messages postés
74
Date d'inscription
dimanche 2 février 2014
Statut
Membre
Dernière intervention
28 décembre 2015
9
Modifié par BlueskyFR le 13/09/2015 à 15:58
Modifié par BlueskyFR le 13/09/2015 à 15:58
Donc j'ai testé ta solution et ceci marche :
Par contre, j'ai encore un problème : étant donné que j'ai rajouté un "+" car il m'en faut un pour tout copier à la fin dans un fichier dll, il faudrait que ce + et l'espace qui le suit n'apparaissent pas au début de la chaîne. Comment faire ? J'ai pensé à un for qui ne garde que la suite de la chaîne ou à un test pour ne pas le mettre la première fois mais je n'y suis pas arrivé...
Merci d'avance pour votre aide !
BlueskyFR
setlocal ENABLEDELAYEDEXPANSION set liste= for /f "tokens=*" %%a In ('dir /s /b /a-d *.ico') Do set liste=!liste! + "%%a" echo !liste! pause endlocal
Par contre, j'ai encore un problème : étant donné que j'ai rajouté un "+" car il m'en faut un pour tout copier à la fin dans un fichier dll, il faudrait que ce + et l'espace qui le suit n'apparaissent pas au début de la chaîne. Comment faire ? J'ai pensé à un for qui ne garde que la suite de la chaîne ou à un test pour ne pas le mettre la première fois mais je n'y suis pas arrivé...
Merci d'avance pour votre aide !
BlueskyFR
BlueskyFR
Messages postés
74
Date d'inscription
dimanche 2 février 2014
Statut
Membre
Dernière intervention
28 décembre 2015
9
13 sept. 2015 à 16:15
13 sept. 2015 à 16:15
Finalement le problème du + et de l'espace est résolu avec ceci :
Mais il y a encore un bug (malheureusement) au niveau du
qui n'accepte pas une chaîne si longue ni le paramètre "!liste!" (placé avant endlocal)
Des idées ?
setlocal ENABLEDELAYEDEXPANSION set /a try=0 set liste= for /f "tokens=*" %%a In ('dir /s /b /a-d *.ico') Do ( if !try!==0 (set liste="%%a"&&set /a try=1) if !try!==1 (set liste=!liste! + "%%a") ) echo !liste! pause endlocal
Mais il y a encore un bug (malheureusement) au niveau du
copy /y %liste% "Dll Creator.dll"
qui n'accepte pas une chaîne si longue ni le paramètre "!liste!" (placé avant endlocal)
Des idées ?
dubcek
Messages postés
18765
Date d'inscription
lundi 15 janvier 2007
Statut
Contributeur
Dernière intervention
20 février 2025
5 625
14 sept. 2015 à 08:22
14 sept. 2015 à 08:22
copier tout les .ico dans un répertoire puis copier de ce répertoire pour que les chemins soient plus court
dubcek
Messages postés
18765
Date d'inscription
lundi 15 janvier 2007
Statut
Contributeur
Dernière intervention
20 février 2025
5 625
14 sept. 2015 à 10:50
14 sept. 2015 à 10:50
je n'ai pas testé
setlocal ENABLEDELAYEDEXPANSION
set /a try=0
set liste=
set tmp=%TEMP%\xxx
mkdir %tmp%
for /f "tokens=*" %%a In ('dir /s /b /a-d *.ico') Do copy /y "%%a" %tmp%
cd %tmp%
for %%a In (*.ico) Do (
if !try!==0 (set liste="%%a"&&set /a try=1)
if !try!==1 (set liste=!liste! + "%%a")
)
echo !liste!
copy /Y !liste! "Dll Creator.dll"
BlueskyFR
Messages postés
74
Date d'inscription
dimanche 2 février 2014
Statut
Membre
Dernière intervention
28 décembre 2015
9
>
dubcek
Messages postés
18765
Date d'inscription
lundi 15 janvier 2007
Statut
Contributeur
Dernière intervention
20 février 2025
Modifié par BlueskyFR le 14/09/2015 à 18:27
Modifié par BlueskyFR le 14/09/2015 à 18:27
Il faut juste changer le nom de ta variable %tmp% car c'est une variable d'environnement qui équivaut à %temp% ^^
Malheureusement je ne vois ton message que maintenant mais j'avais déjà eu cette idée et... bug lors de la lecture de la dll : il me dis : aucun icônes dedans...
Je teste quand même ton script pour voir ;)
Malheureusement je ne vois ton message que maintenant mais j'avais déjà eu cette idée et... bug lors de la lecture de la dll : il me dis : aucun icônes dedans...
Je teste quand même ton script pour voir ;)
BlueskyFR
Messages postés
74
Date d'inscription
dimanche 2 février 2014
Statut
Membre
Dernière intervention
28 décembre 2015
9
14 sept. 2015 à 18:33
14 sept. 2015 à 18:33
Pourtant l'autre jour j'ai testé de faire cette commande avec 2 fichiers .ico et la dll était lue sans problème...
Maintenant, j'ai réessayé et ça ne marche plus, bizarre :(
Maintenant, j'ai réessayé et ça ne marche plus, bizarre :(
dubcek
Messages postés
18765
Date d'inscription
lundi 15 janvier 2007
Statut
Contributeur
Dernière intervention
20 février 2025
5 625
15 sept. 2015 à 10:21
15 sept. 2015 à 10:21
essayer avec copy /b
BlueskyFR
Messages postés
74
Date d'inscription
dimanche 2 février 2014
Statut
Membre
Dernière intervention
28 décembre 2015
9
>
dubcek
Messages postés
18765
Date d'inscription
lundi 15 janvier 2007
Statut
Contributeur
Dernière intervention
20 février 2025
15 sept. 2015 à 21:06
15 sept. 2015 à 21:06
C'est fait : seul un icône est copié... Que faire ?
dubcek
Messages postés
18765
Date d'inscription
lundi 15 janvier 2007
Statut
Contributeur
Dernière intervention
20 février 2025
5 625
16 sept. 2015 à 09:24
16 sept. 2015 à 09:24
avant le copy, tout les fichiers .ico sont bien dans le répertoire ?
dubcek
Messages postés
18765
Date d'inscription
lundi 15 janvier 2007
Statut
Contributeur
Dernière intervention
20 février 2025
5 625
16 sept. 2015 à 10:47
16 sept. 2015 à 10:47
à la place de copy, essayer
type *.ico > "Dll Creator.dll"
BlueskyFR
Messages postés
74
Date d'inscription
dimanche 2 février 2014
Statut
Membre
Dernière intervention
28 décembre 2015
9
>
dubcek
Messages postés
18765
Date d'inscription
lundi 15 janvier 2007
Statut
Contributeur
Dernière intervention
20 février 2025
20 sept. 2015 à 14:53
20 sept. 2015 à 14:53
Non désolé, toujours le même problème...
Et oui, avant le copy ou type, tout les fichiers .ico sont bien dans le répertoire %tmp%\icotmp
Le seul icône disponible dans la dll est le premier icône à partir du début de l'alphabet...
Et oui, avant le copy ou type, tout les fichiers .ico sont bien dans le répertoire %tmp%\icotmp
Le seul icône disponible dans la dll est le premier icône à partir du début de l'alphabet...
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
BlueskyFR
Messages postés
74
Date d'inscription
dimanche 2 février 2014
Statut
Membre
Dernière intervention
28 décembre 2015
9
25 sept. 2015 à 21:27
25 sept. 2015 à 21:27
Aucune solution ?
dubcek
Messages postés
18765
Date d'inscription
lundi 15 janvier 2007
Statut
Contributeur
Dernière intervention
20 février 2025
5 625
26 sept. 2015 à 09:50
26 sept. 2015 à 09:50
ça semble plus complqué que de simplement copier les .ico
creer dll icones
creer dll icones
BlueskyFR
Messages postés
74
Date d'inscription
dimanche 2 février 2014
Statut
Membre
Dernière intervention
28 décembre 2015
9
>
dubcek
Messages postés
18765
Date d'inscription
lundi 15 janvier 2007
Statut
Contributeur
Dernière intervention
20 février 2025
26 sept. 2015 à 11:17
26 sept. 2015 à 11:17
Mais j'y suis déjà arrivé... Maintenant ça ne marche plus...
13 sept. 2015 à 15:14
Merci, je teste ça.