2012-12-07 10 views
7

Bu komut bir dizin oluşturacaktır biliyorum 'C: Test \ \' var?SQL Server kullanarak bir dizinin var olup olmadığını nasıl kontrol edebilirim?</p> <pre><code>EXEC master.sys.xp_create_subdir 'C:testing' </code></pre> <p>Ama nasıl kontrol yapın:

IF EXISTS(... 
+0

............... –

+3

Google, 54k sonuçları hakkında geri döndü .. [1] (http://www.sqlteam.com/forums/topic.asp?TOPIC_ID=105077) , [2] (http://social.msdn.microsoft.com/forums/en-US/transactsql/thread/7a96e929-bddd-42e1-b2f7-88be3055b7c2), [3] (http://www.bidn. com/blogs/briankmcdonald/bidn-blog/1143/determ-if-directory-exists-using-xp_cmdshell) – Kermit

+7

Bu durumun yapıcı olmadığı için kapalı olduğunu kabul etmiyorum. Soru yeterince açık - Kapanış için meşru nedenlerin ne olduğunu görmek için yardım merkezini kontrol ettim ve bu nedenlerden herhangi birine uymamak için bunu bulamadım. Soru, belki de tam bir kod segmenti olmasa da, sorunun "Bir alt dizinin varlığını nasıl kontrol edebilirim ve varsa bir şeyler yaparsam" sorusunu anlayabilecek kadar açık. " – TDrudge

cevap

15
CREATE TABLE ResultSet (Directory varchar(200)) 

INSERT INTO ResultSet 
EXEC master.dbo.xp_subdirs 'c:\' 

Select * FROM ResultSet where Directory = 'testing' 

sonra listenin içeriğini kontrol edebilirsiniz, alt dizinlerin listesini geri döner.

+0

Bu tablodan seçim yapmaya nasıl başlıyorum tho? Komutu çalıştırdım ve masayı görüyorum ama nasıl sorguladım? –

+0

teşekkürler, tam olarak aradığım şey bu! –

+5

Bunun yerine bir geçici tablo kullanmanızı öneririm, böylece etrafta yüzen statik bir tabloyla sonuçlanmazsınız. TABLO #ResultSet CREATE (Dizin varchar (200)) INSERT INTO #ResultSet EXEC master.dbo.xp_subdirs 'c: \' Var ise (#ResultSet itibaren Seç * Dizin = 'test' nerede) başlayın # Burada birşeyler yapın End Birden fazla kodu bir kod bloğu üzerinde yapmanız gerekiyorsa, kodun en başında geçici tabloyu oluşturun ve sonra her kullandığınızda kırpın. Bunu önlemek için kodu biraz daha iyi duruma getirir. her defasında yeniden ayrıştırma. – TDrudge

İlgili konular