- - PR -
フォルダ作成時にアクセス権を設定する。
1
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2006-08-01 13:23
標記、フォルダ作成時に、そのフォルダに対してアクセス権を同時に設定したいと考えております。下記のコードで、対象フォルダ以下のファイルに対しては、アクセス権設定ができたのですが、肝心のフォルダに対してのアクセス権が設定できません。
どなたかご存知の方教えて頂きたく。 アクセス権設定コードだけ抜粋 ******************************************************************* Process Proc = new Process() ; Proc.StartInfo.FileName = Environment.GetEnvironmentVariable("ComSpec") ; Proc.StartInfo.CreateNoWindow = true ; Proc.StartInfo.UseShellExecute = false ; Proc.StartInfo.RedirectStandardInput = false ; Proc.StartInfo.RedirectStandardOutput = true ; Proc.StartInfo.Arguments = @"C:\temp>cacls * /T /E /P everyone:F"; Proc.Start() ; ******************************************************************* | ||||
|
投稿日時: 2006-08-01 13:35
すみません、問題ないコードも書いてしまいました。
下のコードだけです。 CACLS コマンドの設定方法か、又はそれ以外の方法でフォルダのアクセス権を変更できるかという質問です。 宜しくお願いいたします。 ****************************************************************** Proc.StartInfo.Arguments = @"C:\temp>cacls * /T /E /P everyone:F"; ****************************************************************** | ||||
|
投稿日時: 2006-08-01 15:17
前のスレッドで、”XCACLS”を使用すれば、フォルダのアクセス権が設定可能だということを知り、下記のようにコーディングしたのですが、プロセスが終了せずデバッグの途中で思考中になってしまいます。
DOSプロンプトで直接記入すると、問題なくアクセス権限を設定してくれるのですが、コード上からは何故か上述のように設定できません。 問題点があればご指摘いただきたく。 ちなみに言語はC#.netで、OSはXPProです。 *************************************************************************** p.StartInfo.Arguments = @"C:\temp/XCACLS.vbs C:\test /T /E /G everyone:F" ; *************************************************************************** | ||||
|
投稿日時: 2006-08-01 16:23
こんにちは。
> どなたかご存知の方教えて頂きたく。 拝承。 cacls なんだか XCACLS.vbs なんだか XCACLS.EXE なんだかわかり ませんが(しかしなぜに C:\temp ?) cmd.exe (compec) の引数として コマンドを指定する場合は、パラメータ /c を付けないとコマンド実行後も処 理が戻ってきません。
という感じにすればいいのではないでしょうか。 # ハンドル名はちょっと考えたほうがいいですね _________________ ぽぴ王子@わんくま同盟 ぽぴ王子の人生プログラミング中 / ぽぴンち。 | ||||
|
投稿日時: 2006-08-01 21:50
cd /d c:\;mkdir temp;echo y|cacls temp /P everyone:F
基本的に、親ディレクトリのアクセス権を継承するのだし、今回は「フォルダ作成時にアクセス権を設定する」のだから、フォルダが出来たときにそのフォルダに対してアクセス権を設定すれば、中に入っているファイルまで変更する必要はないですよね? ドライブ(特にシステム ドライブ)直下に Everyone フル コントロールなんてディレクトリ、作りたくありませんけどね。 |
1