Page 1 sur 1

[RESOLU] Problème d'affichage chemins avec espaces

Posté : 01 juil. 2011 16:52
par xah01
Bonjour,

J'ai créé un script me permettant de rechercher des fichiers sur le disque courant. Jusque là tout va bien mais lorsque je trouve un fichier j'aimerais afficher son emplacement, la encore pas trop de problème jusqu'au moment où le chemin contient un espace.

Code : Tout sélectionner

@ECHO OFF
ECHO > %USERDOMAIN%.txt
set k=0 
for /f "delims=" %%j in ('type fichier.txt') do (
    ECHO Fichier %%j>> %USERDOMAIN%.txt
    ECHO Fichier %%j
    ECHO. >> %USERDOMAIN%.txt
    ECHO.
    FOR /F %%I IN (' DIR /S /B \%%j ') DO (
      ECHO %%I>> %USERDOMAIN%.txt
      ECHO %%I
      set /A k+=1
    )
    ECHO. >> %USERDOMAIN%.txt
    ECHO.
    
    ECHO ###################################################################### >> %USERDOMAIN%.txt
    ECHO ######################################################################
    
    ECHO. >> %USERDOMAIN%.txt
    ECHO.
)
echo %k% occurences;
echo Le resultat est dans le fichier %USERDOMAIN%.txt
@pause
 
Ce code me retourne dans un fichier txt les valeurs suivantes.
Commande ECHO d‚sactiv‚e.
Fichier filezilla*

C:\Program
C:\Program
C:\Program
C:\Program
C:\Program
C:\Program
C:\Program
C:\Program
C:\Program
C:\Program
C:\Program
C:\Program
C:\Program
C:\Program
C:\Program
C:\Program
C:\Program
C:\Program
C:\Program
C:\Program
C:\Program
C:\Program
C:\Program
C:\Program
C:\Program
C:\Program
C:\Program
C:\Program
C:\Program
C:\Program
C:\Program
C:\Program
C:\Program
C:\Program
C:\Program
C:\Program
C:\Program
C:\Program
C:\Program
C:\Program
C:\Program
C:\Program
C:\Program
C:\Program
C:\Program
C:\Program
C:\Program
C:\Program
C:\Program
C:\Program
C:\Program
C:\Program
C:\Program
C:\Program
C:\Program
C:\ProgramData\Microsoft\Windows\Start
C:\ProgramData\Microsoft\Windows\Start
C:\Users\All
C:\Users\All
C:\Users\Mathilde\AppData\Roaming\FileZilla
C:\Users\Mathilde\AppData\Roaming\FileZilla\filezilla.xml
C:\Users\Mathilde\Desktop\FileZilla
C:\Users\Mathilde\Downloads\FileZilla_3.3.5.1_win32-setup.exe
C:\Users\Public\Desktop\FileZilla
C:\Users\Xavier\AppData\Roaming\FileZilla
C:\Users\Xavier\AppData\Roaming\FileZilla\filezilla.xml
C:\Users\Xavier\AppData\Roaming\Microsoft\Internet
C:\Windows\Prefetch\FILEZILLA.EXE-C5C0E348.pf

########################################################

Fichier g.exe


########################################################

Fichier gina32.exe


########################################################

Fichier fakegina.dll


########################################################

Fichier fzk.exe


########################################################

Fichier hidterm.exe


########################################################

Fichier killany.exe


########################################################

Fichier tcptran.exe


########################################################

Fichier passlist.txt


########################################################

Fichier *.pif

C:\Windows\_default.pif
C:\Windows\winsxs\Backup\x86_microsoft-windows-ntvdm-system32_31bf3856ad364e35_6.1.7601.17514_none_0014e305d0cff0a7__default.pif_dda35fa9
C:\Windows\winsxs\x86_microsoft-windows-ntvdm-system32_31bf3856ad364e35_6.1.7600.16385_none_fde3cf3dd3e16d0d\_default.pif
C:\Windows\winsxs\x86_microsoft-windows-ntvdm-system32_31bf3856ad364e35_6.1.7601.17514_none_0014e305d0cff0a7\_default.pif
C:\Windows.old\Windows\_default.pif

########################################################

Fichier *.cmd

C:\Windows\assembly\GAC_MSIL\Microsoft.Security.ApplicationId.PolicyManagement.Cmdlets
C:\Windows\System32\onlinesetup.cmd
C:\Windows\System32\winrm.cmd
C:\Windows\winsxs\x86_microsoft-windows-rascmak_31bf3856ad364e35_6.1.7600.16385_none_1062b6b4da087467\quarchk.cmd
C:\Windows\winsxs\x86_microsoft-windows-rascmak_31bf3856ad364e35_6.1.7601.17514_none_1293ca7cd6f6f801\quarchk.cmd
C:\Windows\winsxs\x86_microsoft-windows-telnet-server_31bf3856ad364e35_6.1.7600.16385_none_92de3314b0696381\login.cmd
C:\Windows\winsxs\x86_microsoft-windows-w..for-management-core_31bf3856ad364e35_6.1.7600.16385_none_ca3bcb830e5b61c6\winrm.cmd
C:\Windows\winsxs\x86_microsoft-windows-w..for-management-core_31bf3856ad364e35_6.1.7601.17514_none_cc6cdf4b0b49e560\winrm.cmd
C:\Windows\winsxs\x86_microsoft.windows.c..ration.online.setup_31bf3856ad364e35_6.1.7600.16385_none_b1a03ff8a262d947\onlinesetup.cmd
C:\Windows.old\Windows\system32\login.cmd
C:\Windows.old\Windows\system32\usrlogon.cmd

########################################################
On peut voir que les chemins qui ne contiennent pas d'espaces s'affichent normalement mais les chemins comme c:\Program Files/.... ne 's'affichent pas complètement.

Merci pour votre aide
Cordialement.

Re: Problème d'affichage des chemins absolu avec des espaces

Posté : 01 juil. 2011 17:11
par WIN32-[GG]
Bonjour et bienvenue! :D

Rien qu'en regardant:

Ligne 4 :
for /f "delims=" %%j in ('type fichier.txt') do (

fichier.txt n'existe pas. :?
D'après le code, je suppose qu'il contient ce que le programme doit rechercher.

J'ai aussi résolu le problème:
FOR /F "tokens=*" %%I IN (' DIR /S /B \%%j ') DO (

et :o ça marche, chez moi en tout cas.

Merci pour ce très beau batch, je le conserve! ;)

Re: Problème d'affichage des chemins absolu avec des espaces

Posté : 01 juil. 2011 17:45
par xah01
Merci,

En effet j'ai omis de mettre le fichier.txt il contient simplement les fichiers à rechercher.
Merci pour votre réponse rapide et efficace.

Pour ce qui est du script il n'est pas sous licence :D

Bonne continuation.