BashコマンドのDOSカウンターパートは何ですかls -lad
Unixでは?
Windowsのコマンドプロンプト(cmd.exe)の「dir」コマンドは、通常、Unix/Linuxのbashの「ls」コマンドと同等であると見なされます。ただし、「dir」には「ls」の「-d」オプションの機能がありません。 「-d」オプションは、ディレクトリをプレーンファイルのように扱い、子ファイルとサブディレクトリが表示されないようにします。
ls -lad ITEM
これらの機能(1)から(4)を備えたDOSコマンド(またはPowerShellコマンド)はありますか?
dir ITEM /a
attrib ITEM
DOSの「attrib」コマンドは、指定されたITEMの存在も通知します。また、ディレクトリの場合、「attrib」はその子ファイルとサブディレクトリの表示を控えます。ただし、「attrib」は、それがディレクトリであるか、通常のファイルであるか、リンクであるかを判別できません。
ls -lad
のDOS対応部分は何ですか?直接同等のものはありません。もちろん、CygwinまたはWindows Subsystem for Linuxをインストールして、ls -lad
を直接実行することもできます。
必要なことのほとんどを実行するバッチファイルを作成することもできます。以下はいくつかのヒントです。
ファイルの存在を確認するには:
if exist filename (
echo filename exists
)
ファイルがディレクトリかどうかを確認するには:
if exists filename\nul (
echo directory
) else (
echo file
)
ファイルがリンクであるかどうかを確認するには:
dir /a:l filename | find "<SYMLINK>" >nul && echo file symbolic link
ディレクトリがリンクであるかどうかを確認するには:
dir /a:l filename | find "<SYMLINKD>" >nul && echo directory symbolic link
ファイルリンクのターゲットを取得するには:
for /f "usebackq delims=[] tokens=2" %i in (`dir /a:l filename ^| find "<SYMLINK">`) do @echo %i
ディレクトリリンクのターゲットを取得するには:
for /f "usebackq delims=[] tokens=2" %i in (`dir /a:l filename* ^| find "<SYMLINKD>"`) do @echo %i