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

Une difficulté, une précision posez vos questions

Modérateur : WIN32-[GG]

Répondre
xah01
Batcheur occasionnel
Messages : 2
Enregistré le : 01 juil. 2011 16:46

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

Message 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.
Modifié en dernier par xah01 le 01 juil. 2011 17:50, modifié 1 fois.
Avatar du membre
WIN32-[GG]
SuperBatcher
Messages : 129
Enregistré le : 25 avr. 2011 19:34
Localisation : Dernière porte à droite

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

Message 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! ;)
WIN32-[GG]
The quieter you become,
the more you are able to ear...
xah01
Batcheur occasionnel
Messages : 2
Enregistré le : 01 juil. 2011 16:46

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

Message 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.
Répondre