Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

requête SQL et fichier plat

7 réponses
Avatar
rénald
Hello,

j'ai un fichiers texte qui s'appelle dir.txt (je l'ai généré de la façon
suivante : dir /s > c:\dir.txt)

j'aimerair effectuer des extractions sur ce dernier en effectuant des
requêtes SQL. comme vous le constateraient, les champs sont délimités par des
"space".

Est-ce possible via SQL ?

Salutations

rénald

7 réponses

Avatar
Gilles LAURENT [MVP]
"rénald" a écrit dans le message de
news:
| Hello,

Hi !

| j'ai un fichiers texte qui s'appelle dir.txt (je l'ai généré de la
| façon suivante : dir /s > c:dir.txt)
|
| j'aimerair effectuer des extractions sur ce dernier en effectuant des
| requêtes SQL. comme vous le constateraient, les champs sont délimités
| par des "space".
|
| Est-ce possible via SQL ?

Oui il est possible de réaliser des requêtes SQL sur le système de
fichiers dans le but d'obtenir des statistiques mais pour cela je vous
invite à jeter un oeil sur le fabuleux outil Microsoft LogParser :
http://www.microsoft.com/downloads/details.aspx?FamilyID‰0cd06b-abf8-4c25-91b2-f8d975cf8c07&displaylang=en

Par exemple :

Afficher les cinq plus gros fichiers du dossier D:Test (récursif) :
"select top 5 path,size from d:test*.* order by size desc" -i:fs

La syntaxe n'est pas évidente mais la puissance est garantie ;-)

--
Gilles LAURENT
MVP Windows Server - Admin Frameworks
http://glsft.free.fr
Avatar
rénald
Hello,

C'est vrai c'est puissant.

Mais auriez-vous un exemple de fichier plat et de requête SQL pour
l'extraction ?

Salutations

Rénald

"Gilles LAURENT [MVP]" wrote:

"rénald" a écrit dans le message de
news:
| Hello,

Hi !

| j'ai un fichiers texte qui s'appelle dir.txt (je l'ai généré de la
| façon suivante : dir /s > c:dir.txt)
|
| j'aimerair effectuer des extractions sur ce dernier en effectuant des
| requêtes SQL. comme vous le constateraient, les champs sont délimités
| par des "space".
|
| Est-ce possible via SQL ?

Oui il est possible de réaliser des requêtes SQL sur le système de
fichiers dans le but d'obtenir des statistiques mais pour cela je vous
invite à jeter un oeil sur le fabuleux outil Microsoft LogParser :
http://www.microsoft.com/downloads/details.aspx?FamilyID‰0cd06b-abf8-4c25-91b2-f8d975cf8c07&displaylang=en

Par exemple :

Afficher les cinq plus gros fichiers du dossier D:Test (récursif) :
"select top 5 path,size from d:test*.* order by size desc" -i:fs

La syntaxe n'est pas évidente mais la puissance est garantie ;-)

--
Gilles LAURENT
MVP Windows Server - Admin Frameworks
http://glsft.free.fr





Avatar
Gilles LAURENT [MVP]
"rénald" a écrit dans le message de
news:
| Hello,

Hi !

| C'est vrai c'est puissant.
|
| Mais auriez-vous un exemple de fichier plat et de requête SQL pour
| l'extraction ?

Vous pouvez utiliser le pilote ODBC "Microsoft Text Driver". En revanche
la source de données (ici le fichier plat) doit être structurée, ce qui
n'est pas le cas du résultat de la commande "dir /s". Que souhaitez-vous
faire précisément ? Pouvez-vous nous transmettre un exemple de source de
données à analyser ?

--
Gilles LAURENT
MVP Windows Server - Admin Frameworks
http://glsft.free.fr
Avatar
rénald
Hello,

Le but final est de rechercher les fichiers doublons.

Vous parlez de "structurer les données", pouvez-vous me dire comment puis-je
structurer ce fichier ? en ajoutant des noms à chaque colonne ?

merci

"Gilles LAURENT [MVP]" wrote:

"rénald" a écrit dans le message de
news:
| Hello,

Hi !

| C'est vrai c'est puissant.
|
| Mais auriez-vous un exemple de fichier plat et de requête SQL pour
| l'extraction ?

Vous pouvez utiliser le pilote ODBC "Microsoft Text Driver". En revanche
la source de données (ici le fichier plat) doit être structurée, ce qui
n'est pas le cas du résultat de la commande "dir /s". Que souhaitez-vous
faire précisément ? Pouvez-vous nous transmettre un exemple de source de
données à analyser ?

--
Gilles LAURENT
MVP Windows Server - Admin Frameworks
http://glsft.free.fr





Avatar
Gilles LAURENT [MVP]
"rénald" a écrit dans le message de
news:
| Hello,

Hi !

| Le but final est de rechercher les fichiers doublons.

D'ou l'importance de l'expression du besoin ;-)

Ci-dessous un exemple avec l'outil Microsoft LogParser :

Usage: LogParser file:Resquest.sql -i:fs -rtp:-1

--- Request.sql ---
SELECT Name, SUM(Size), COUNT(*) AS Number
FROM D:Test*.*
WHERE Name Not In ('.' ; '..')
GROUP BY Name
HAVING Number > 1
ORDER BY Number DESC
--- Request.sql ---

Cet exemple affichera trois colonnes :
- le nom des fichiers doublons
- l'espace disque consommé (exprimé en octets)
- le nombre d'occurence

--
Gilles LAURENT
MVP Windows Server - Admin Frameworks
http://glsft.free.fr
Avatar
Lognoul Marc [MVP]
LogParser, c'est le meilleur outil de MS :)

Pour repérer les doublons, j'utilise également la fonction HASHMD5_FILE afin
de ne pas uniquement me baser sur le nom du fichier.

--
Marc [MCSE, MCTS, MVP]
[Heureux celui qui a pu pénétrer les causes secrètes des choses]
[Blog: http://www.marc-antho-etc.net/blog/]



"Gilles LAURENT [MVP]" wrote in message
news:
"rénald" a écrit dans le message de
news:
| Hello,

Hi !

| Le but final est de rechercher les fichiers doublons.

D'ou l'importance de l'expression du besoin ;-)

Ci-dessous un exemple avec l'outil Microsoft LogParser :

Usage: LogParser file:Resquest.sql -i:fs -rtp:-1

--- Request.sql ---
SELECT Name, SUM(Size), COUNT(*) AS Number
FROM D:Test*.*
WHERE Name Not In ('.' ; '..')
GROUP BY Name
HAVING Number > 1
ORDER BY Number DESC
--- Request.sql ---

Cet exemple affichera trois colonnes :
- le nom des fichiers doublons
- l'espace disque consommé (exprimé en octets)
- le nombre d'occurence

--
Gilles LAURENT
MVP Windows Server - Admin Frameworks
http://glsft.free.fr



__________ Information from ESET NOD32 Antivirus, version of virus
signature database 3973 (20090329) __________

The message was checked by ESET NOD32 Antivirus.

http://www.eset.com" target="_blank" class="text-blue hover:opacity-90 " style="word-break: break-all;" rel="noopener nofollow">http://www.eset.com






__________ Information from ESET NOD32 Antivirus, version of virus signature database 3973 (20090329) __________

The message was checked by ESET NOD32 Antivirus.

http://www.eset.com" target="_blank" class="text-blue hover:opacity-90 " style="word-break: break-all;" rel="noopener nofollow">http://www.eset.com
Avatar
rénald
Hello,

Absolument magique cette requête SQL, je suis en train de l'analyser sur le
site www.w3schools.com

en fait j'aurais besoin uniquement de (pour la première ligne)

SELECT Name, COUNT(*) AS Number
...

"Gilles LAURENT [MVP]" wrote:

"rénald" a écrit dans le message de
news:
| Hello,

Hi !

| Le but final est de rechercher les fichiers doublons.

D'ou l'importance de l'expression du besoin ;-)

Ci-dessous un exemple avec l'outil Microsoft LogParser :

Usage: LogParser file:Resquest.sql -i:fs -rtp:-1

--- Request.sql ---
SELECT Name, SUM(Size), COUNT(*) AS Number
FROM D:Test*.*
WHERE Name Not In ('.' ; '..')
GROUP BY Name
HAVING Number > 1
ORDER BY Number DESC
--- Request.sql ---

Cet exemple affichera trois colonnes :
- le nom des fichiers doublons
- l'espace disque consommé (exprimé en octets)
- le nombre d'occurence

--
Gilles LAURENT
MVP Windows Server - Admin Frameworks
http://glsft.free.fr