Bashの_-d
_ if
条件と同様の機能を実現したい場合。
fileExistsAtPath()
を使用してファイルが存在するかどうかをテストする方法を知っています。これにより、ファイルが存在する場合はブール値「true」が返され、存在しない場合は「false」が返されます(path
がファイルへのパスを含む文字列):
_if NSFileManager.fileExistsAtPath(path) {
print("File exists")
} else {
print("File does not exist")
}
_
ただし、path
で指定されたパスが次のbash
コードのようなディレクトリであるかどうかを確認したいと思います。
_if [ -d "$path" ]; then
echo "$path is a directory"
Elif [ -f "$path" ]; then
# this is effectively the same as fileExistsAtPath()
echo "$path is a file"
fi
_
これは可能ですか?可能であれば、どのように実行する必要がありますか?
fileExistsAtPath
のオーバーロードを使用してpath
がディレクトリを表すことを通知できます。
var isDir : ObjCBool = false
let path = ...
let fileManager = FileManager.default
if fileManager.fileExists(atPath: path, isDirectory:&isDir) {
print(isDir.boolValue ? "Directory exists" : "File exists")
} else {
print("File does not exist")
}