[MS-DOS]Commandes pour lister les lecteurs d'un ordinateur

Répondre
Partager Rechercher
Essaie ceci :

Code:
set cheminfichier=%1
for /f %%i in ('echo %cheminfichier%') do set fichier=%%~ni%%~xi
%cheminfichier% contient ton argument, donc le chemin complet.
%fichier% contient uniquement le nom du fichier, donc exploitable.
Citation :
Publié par Nenaal Llaenaan
Essaie ceci :

Code:
set cheminfichier=%1
for /f %%i in ('echo %cheminfichier%') do set fichier=%%~ni%%~xi
%cheminfichier% contient ton argument, donc le chemin complet.
%fichier% contient uniquement le nom du fichier, donc exploitable.
Ca marche s'il n'y a pas d'espace foireux. Enfin, je pense avoir trouver une bidouille à la con qui règle le problème avec des recopies/renomage de fichier. C'est pas optimisé, mais dans le fond, je m'en fout.
if %1=="" goto Fin
if exist c:\temp goto Suite
md c:\temp
:Suite
copy %1 c:\temp\%1
["Le chemin de ton programme"] c:\temp\%1
:Fin

Les guillemets sont nécessaires si ton chemin contient des espaces. Ça marche chez moi dans une fenêtre de commande sous Windows XP pro avec les droits d'administrateurs.
Citation :
Publié par harermuir
Ca marche s'il n'y a pas d'espace foireux. Enfin, je pense avoir trouver une bidouille à la con qui règle le problème avec des recopies/renomage de fichier. C'est pas optimisé, mais dans le fond, je m'en fout.
Effectivement, il faut faire :

Code:
set cheminfichier=%1
for /f "delims=*" %%i in ('echo %cheminfichier%') do set fichier=%%~ni%%~xi
Brock, %1 ne contient pas seulement un nom de fichier, mais aussi le chemin. Si je reprends ton code en disant que %1=c:\test.txt, on obtient :

copy c:\test.txt c:\temp\c:\test.txt

et là, je doute ...
Effectivement, tu as raison. Si on rentre le chemin d'accès du fichier a modifier comme paramètre, il apparaît dans la variable %1. Mon test ne fonctionne que quand on se trouve dans le répertoire du fichier à modifier et que l'on ne précise pas le chemin.

Bien vu Nenaal Llaenaan !
Répondre

Connectés sur ce fil

 
1 connecté (0 membre et 1 invité) Afficher la liste détaillée des connectés