J'ai une liste massive de fichiers stockés en tant que chemins dans le serveur SQL. Il est assez facile de diviser les chemins en répertoires, cependant, je dois être capable de présenter une liste de tous les fichiers et dossiers d'un niveau à la fois. SQL Server a des utilitaires intégrés pour gérer cela pour les fichiers locaux sur le serveur, mais ils ne s'appliquent pas dans ce cas. L'utilisation d'un caractère générique renverra tout ce qui se trouve en dessous du répertoire en cours, donc j'ai supprimé cela.Produire la liste des répertoires et des fichiers basés sur le répertoire en utilisant T-SQL
données:
C:\test\file.txt
C:\test\level2\file.txt
C:\test\level2\bc.txt
C:\test\level3\another.txt
Idéalement, je voudrais passer dans un dossier, et de voir tous les fichiers et dossiers à ce niveau. Ensuite, je peux présenter cela dans un contrôle treegrid, mais cette partie est en dehors de la portée de la question.
Passant 'C: \ test \' doit retourner:
C:\test\file.txt
C:\test\level2
C:\test\level3
'CHOISIR un fichier FROM datatable WHERE filename LIKE 'C: \ test \%''? –
'où Filename comme @Path + '%' et Filename pas comme @Path + '% \%'', c'est-à-dire tout au niveau désiré mais pas plus profond, obtiendra des fichiers mais pas des dossiers. Vous pouvez «union» une requête similaire pour obtenir des dossiers. – HABO
HABO - merci, cela me rapproche! Juste à comprendre comment obtenir des répertoires seulement maintenant. – Proteus