0

私たちの .net アプリケーションでは、Unix システムに対してファイル操作コマンドを実行する必要があります。File.Exists と Directory.Exists に相当するものを用意しようとしています。

.net で ssh を使用すると、これまで次のように動作するようになりました。

名前が一致するファイルのみを検索します。

find /folder/subfolder -maxdepth 1 -type f -iname test.mov

名前が一致するディレクトリのみを検索します。

find /folder/subfolder -maxdepth 1 -type d -iname test

質問 - フルパスを分割せずに上記の操作を行うことは可能ですか?

パスを分割することは大したことではありませんが、本番環境の既存のサービスは、実行するコマンドとパスのみを受け入れます。

4

1 に答える 1

0
test -d  /path/to/directory_name  
[ -d /path/to/directory_name  ] 

true または false を返す - つまり directory.exists

test -f /path/to/filename
[ -f /path/to/filename ]  

ファイルも同じ

これらの構造を使用して、ok または not ok を返すことができます。

[ -f /path/to/filename ]  && exit 0 || exit 1

指定されたディレクトリまたはファイルが見つからない場合でも、find はエラーを返しません。

于 2012-05-22T13:03:43.733 に答える