Au cas où ça servirait à d'autres... Je viens de faire ce petit batch pour
un besoin interne qui récupère l'URL des favoris d'un utilisateur:
--- couper ici ---
@echo off
type %1 | findstr /b "URL=" > %temp%\url.txt
for /f "delims== tokens=2" %%a in (%temp%\url.txt) do echo %%a
del %temp%\url.txt
--- couper ici ---
Le batch récupère l'URL stockée dans un fichier favori (*.URL) donné en
entrée. Pour scanner l'ensemble des favoris, se placer à la racine du
dossier (typiquement %homepath%\favoris sur un poste français, à adapter
selon la langue voire récupérer le chemin dans la base de registre pour être
100% clean) et lancer la commande suivante:
for /r %f in (*.url) do @urls.cmd "%f"
Dans mon exemple, le fichier batch s'appelle urls.cmd, à adapter selon votre
humeur.
Pour ceux qui ont installé MSH, la même chose est possible avec la commande
suivante:
dir . -i *.url -r | foreach {type $_ | where {$_ -match "^URL=.*"} | foreach
{$_.split("=")[1]}}
Bon, ok, l'utilité d'un tel outil est (relativement) discutable, mais c'est
un petit exemple simple et efficace d'analyse de contenu de fichiers. Prenez
donc cela comme un effort pour stimuler vos neurones encore un peu engourdis
après le champagne, le foie gras et la frangipane. ;-)
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Méta-MCI
Bonsoir !
Quelques remarques :
Je viens de faire ce petit batch
Bien. Très bien. Très très bien !
l'ensemble des favoris, ...racine et lancer : for /r %f in (*.url) do ...
Si je fais ça, j'ai 920 fichier *.url ; alors que mes favoris sont situés dans des répertoires "Favoris" (et, là, je n'ai que 9 répertoires). Peut-être pourrait-on sélectionner, d'abord, les répertoire "Favoris". Qu'en penses-tu ?
D'ailleurs, je t'ai fait un petit batch pour ça (en fond de message).
@+
Michel Claveau
@echo off
pushd .. for /F "usebackq delims=*" %%r in (`dir Favoris /S /B`) do (call :DURL %%r) popd goto :EOF
:DURL cd %* dir *.url /b /s
Bonsoir !
Quelques remarques :
Je viens de faire ce petit batch
Bien. Très bien. Très très bien !
l'ensemble des favoris, ...racine et lancer : for /r %f in (*.url) do
...
Si je fais ça, j'ai 920 fichier *.url ; alors que mes favoris sont situés
dans des répertoires "Favoris" (et, là, je n'ai que 9 répertoires).
Peut-être pourrait-on sélectionner, d'abord, les répertoire "Favoris". Qu'en
penses-tu ?
D'ailleurs, je t'ai fait un petit batch pour ça (en fond de message).
@+
Michel Claveau
@echo off
pushd ..
for /F "usebackq delims=*" %%r in (`dir Favoris /S /B`) do (call :DURL %%r)
popd
goto :EOF
l'ensemble des favoris, ...racine et lancer : for /r %f in (*.url) do ...
Si je fais ça, j'ai 920 fichier *.url ; alors que mes favoris sont situés dans des répertoires "Favoris" (et, là, je n'ai que 9 répertoires). Peut-être pourrait-on sélectionner, d'abord, les répertoire "Favoris". Qu'en penses-tu ?
D'ailleurs, je t'ai fait un petit batch pour ça (en fond de message).
@+
Michel Claveau
@echo off
pushd .. for /F "usebackq delims=*" %%r in (`dir Favoris /S /B`) do (call :DURL %%r) popd goto :EOF
:DURL cd %* dir *.url /b /s
Jacques Barathon [MS]
"Méta-MCI" wrote in message news:%23a%
Je viens de faire ce petit batch
Bien. Très bien. Très très bien !
Je savais que la version batch te plairait :-)
l'ensemble des favoris, ...racine et lancer : for /r %f in (*.url) do ...
Si je fais ça, j'ai 920 fichier *.url ; alors que mes favoris sont situés dans des répertoires "Favoris" (et, là, je n'ai que 9 répertoires). Peut-être pourrait-on sélectionner, d'abord, les répertoire "Favoris". Qu'en penses-tu ?
Je ne suis pas bien sûr de comprendre ton raisonnement. Dans mon cas, je n'ai qu'un dossier Favoris (qui d'ailleurs s'appelle Favorites car mon OS est en anglais, mais peu importe, ça ne change rien sur le fond). Dans ce dossier, j'ai de nombreux sous-répertoires, eux-mêmes avec des sous-répertoires, etc. Mes URL sont classés dans tous ces sous-répertoires; à noter que j'en ai à la racine du dossier Favoris lui-même.
Donc, si je me place dans mon dossier Favoris, je peux obtenir la liste de TOUS les URL présents dans ce dossier et ses sous-répertoires en tapant l'une ou l'autre des deux commandes suivantes:
dir *.url /s for /r %a in (*.url) do echo %a
Dans le premier cas j'ai également les noms des sous-répertoires au fur et à mesure où je les parcours. Dans le deuxième cas je n'ai que les noms des fichiers, ou plus précisément les noms complets incluant le chemin d'accès. C'est ce deuxième résultat que je veux obtenir pour mon scan.
Dans les deux cas j'ai le même nombre de fichiers (1609 sur mon PC), et une vérification à la mimine confirme la justesse du résultat.
Par contre, si je lance ton batch, j'obtiens plus de 29000 fichiers. En examinant le résultat, je constate qu'il s'agit 1) d'une même liste répétée plusieurs fois et 2) d'une liste qui n'est pas limitée à mon dossier Favoris. En fait, j'ai l'impression que ton batch m'a sorti tous les URL de mon arborescence %HOMEPATH%, alors que je l'ai bien lancé depuis mon dossier Favoris!
Jacques
"Méta-MCI" <enleverlesX.XmcX@XmclaveauX.com> wrote in message
news:%23a%23uuxHGGHA.2212@TK2MSFTNGP15.phx.gbl...
Je viens de faire ce petit batch
Bien. Très bien. Très très bien !
Je savais que la version batch te plairait :-)
l'ensemble des favoris, ...racine et lancer : for /r %f in (*.url) do
...
Si je fais ça, j'ai 920 fichier *.url ; alors que mes favoris sont situés
dans des répertoires "Favoris" (et, là, je n'ai que 9 répertoires).
Peut-être pourrait-on sélectionner, d'abord, les répertoire "Favoris".
Qu'en penses-tu ?
Je ne suis pas bien sûr de comprendre ton raisonnement. Dans mon cas, je
n'ai qu'un dossier Favoris (qui d'ailleurs s'appelle Favorites car mon OS
est en anglais, mais peu importe, ça ne change rien sur le fond). Dans ce
dossier, j'ai de nombreux sous-répertoires, eux-mêmes avec des
sous-répertoires, etc. Mes URL sont classés dans tous ces sous-répertoires;
à noter que j'en ai à la racine du dossier Favoris lui-même.
Donc, si je me place dans mon dossier Favoris, je peux obtenir la liste de
TOUS les URL présents dans ce dossier et ses sous-répertoires en tapant
l'une ou l'autre des deux commandes suivantes:
dir *.url /s
for /r %a in (*.url) do echo %a
Dans le premier cas j'ai également les noms des sous-répertoires au fur et à
mesure où je les parcours. Dans le deuxième cas je n'ai que les noms des
fichiers, ou plus précisément les noms complets incluant le chemin d'accès.
C'est ce deuxième résultat que je veux obtenir pour mon scan.
Dans les deux cas j'ai le même nombre de fichiers (1609 sur mon PC), et une
vérification à la mimine confirme la justesse du résultat.
Par contre, si je lance ton batch, j'obtiens plus de 29000 fichiers. En
examinant le résultat, je constate qu'il s'agit 1) d'une même liste répétée
plusieurs fois et 2) d'une liste qui n'est pas limitée à mon dossier
Favoris. En fait, j'ai l'impression que ton batch m'a sorti tous les URL de
mon arborescence %HOMEPATH%, alors que je l'ai bien lancé depuis mon dossier
Favoris!
l'ensemble des favoris, ...racine et lancer : for /r %f in (*.url) do ...
Si je fais ça, j'ai 920 fichier *.url ; alors que mes favoris sont situés dans des répertoires "Favoris" (et, là, je n'ai que 9 répertoires). Peut-être pourrait-on sélectionner, d'abord, les répertoire "Favoris". Qu'en penses-tu ?
Je ne suis pas bien sûr de comprendre ton raisonnement. Dans mon cas, je n'ai qu'un dossier Favoris (qui d'ailleurs s'appelle Favorites car mon OS est en anglais, mais peu importe, ça ne change rien sur le fond). Dans ce dossier, j'ai de nombreux sous-répertoires, eux-mêmes avec des sous-répertoires, etc. Mes URL sont classés dans tous ces sous-répertoires; à noter que j'en ai à la racine du dossier Favoris lui-même.
Donc, si je me place dans mon dossier Favoris, je peux obtenir la liste de TOUS les URL présents dans ce dossier et ses sous-répertoires en tapant l'une ou l'autre des deux commandes suivantes:
dir *.url /s for /r %a in (*.url) do echo %a
Dans le premier cas j'ai également les noms des sous-répertoires au fur et à mesure où je les parcours. Dans le deuxième cas je n'ai que les noms des fichiers, ou plus précisément les noms complets incluant le chemin d'accès. C'est ce deuxième résultat que je veux obtenir pour mon scan.
Dans les deux cas j'ai le même nombre de fichiers (1609 sur mon PC), et une vérification à la mimine confirme la justesse du résultat.
Par contre, si je lance ton batch, j'obtiens plus de 29000 fichiers. En examinant le résultat, je constate qu'il s'agit 1) d'une même liste répétée plusieurs fois et 2) d'une liste qui n'est pas limitée à mon dossier Favoris. En fait, j'ai l'impression que ton batch m'a sorti tous les URL de mon arborescence %HOMEPATH%, alors que je l'ai bien lancé depuis mon dossier Favoris!
Jacques
Jean
Bon, ok, l'utilité d'un tel outil est (relativement) discutable,
Bien d'accord avec vous.
mais c'est un petit exemple simple et efficace d'analyse de contenu de fichiers.
Effectivement. (J'essayerai de retrouver le hta que j'avais fabriqué sur le sujet ... mais comme sous-entendu plus haut je ne l'ai pas utilisé souvent)
Prenez donc cela comme un effort pour stimuler vos neurones encore un peu engourdis après le champagne, le foie gras et la frangipane. ;-)
... surtout la frangipane ... :-)
Amicalement,
-- Jean - JMST Belgium
Bon, ok, l'utilité d'un tel outil est (relativement) discutable,
Bien d'accord avec vous.
mais c'est
un petit exemple simple et efficace d'analyse de contenu de fichiers.
Effectivement.
(J'essayerai de retrouver le hta que j'avais fabriqué sur le sujet ...
mais comme sous-entendu plus haut je ne l'ai pas utilisé souvent)
Prenez
donc cela comme un effort pour stimuler vos neurones encore un peu engourdis
après le champagne, le foie gras et la frangipane. ;-)
Bon, ok, l'utilité d'un tel outil est (relativement) discutable,
Bien d'accord avec vous.
mais c'est un petit exemple simple et efficace d'analyse de contenu de fichiers.
Effectivement. (J'essayerai de retrouver le hta que j'avais fabriqué sur le sujet ... mais comme sous-entendu plus haut je ne l'ai pas utilisé souvent)
Prenez donc cela comme un effort pour stimuler vos neurones encore un peu engourdis après le champagne, le foie gras et la frangipane. ;-)
... surtout la frangipane ... :-)
Amicalement,
-- Jean - JMST Belgium
Jean
Si vous trouvez une faille
Si le nom d'une url contient le caractère crochet ouvert [ et que l'on tente :
get-favorite|foreach($_.Name)
:-)
Amicalement,
-- Jean - JMST Belgium
Si vous trouvez une faille
Si le nom d'une url contient le caractère crochet ouvert [ et que l'on
tente :