個人的には、Powershell を使用して Windows と対話する必要があるタスクを実行しますが、あまり興味深いものではありません。
私が考えることができる2つのSQLベースのソリューションがあります:
xp_cmdshell
exec xp_cmdshell 'dir c:\temp\test.txt'
Output
Volume in drive C is System
Volume Serial Number is A227-BF7F
NULL
Directory of c:\temp
NULL
26/04/2013 10:52 AM 20 test.txt
1 File(s) 20 bytes
0 Dir(s) 214,210,105,344 bytes free
NULL
ただし、いくつかの欠点があります。
xp_cmdshell はデフォルトでオフになっています。(メッセージ 15281、レベル 16、状態 1、プロシージャ xp_cmdshell、行 1 SQL Server は、コンポーネント 'xp_cmdshell' のプロシージャ 'sys.xp_cmdshell' へのアクセスをブロックしました。このコンポーネントは、このサーバーのセキュリティ構成の一部としてオフになっているためです。システム管理者sp_configure を使用して、'xp_cmdshell' の使用を有効にすることができます。'xp_cmdshell' の有効化の詳細については、SQL Server Books Online の「Surface Area Configuration」を参照してください)。
出力を解析する必要があります。
オープン行セット
select datalength(bulkcolumn) from openrowset(bulk 'c:\temp\test.txt', single_clob) a
それがテキスト ファイルであり、オペレーティング システムによって報告される正確な数が実際には必要ないと仮定すると、テキスト ファイルに含まれるバイト数を数えることができます。
それがあなたにいくつかのアイデアを与えることを願っています。