i7p*_*nuz 5 linux unix command-line ms-dos cmd.exe
Unix 上bash 命令的 DOS 对应部分是什么ls -lad
?
Windows 上命令提示符 (cmd.exe) 上的“dir”命令通常被认为相当于 Unix/Linux 上 bash 的“ls”命令。然而,“dir”缺乏“ls”的“-d”选项的功能。“-d”选项将目录视为普通文件,并阻止显示其子文件和子目录。
ls -lad ITEM
Run Code Online (Sandbox Code Playgroud)
是否有任何 DOS 命令(甚至 PowerShell 命令)具有这些功能(1)到(4)?
dir ITEM /a
attrib ITEM
Run Code Online (Sandbox Code Playgroud)
DOS 上的“attrib”命令还可以告知给定 ITEM 的存在;并且,如果它是目录,则“attrib”不会显示其子文件和子目录。然而,“attrib”无法判断它是目录、常规文件还是链接。
ls -lad
?没有直接的等价物。当然,您可以安装 Cygwin 或 Windows Subsystem for Linux 并ls -lad
直接运行。
您还可以创建一个批处理文件来完成您想要的大部分操作。以下是一些提示。
检查文件是否存在:
if exist filename (
echo filename exists
)
Run Code Online (Sandbox Code Playgroud)
检查文件是否是目录:
if exists filename\nul (
echo directory
) else (
echo file
)
Run Code Online (Sandbox Code Playgroud)
检查文件是否是链接:
dir /a:l filename | find "<SYMLINK>" >nul && echo file symbolic link
Run Code Online (Sandbox Code Playgroud)
检查目录是否是链接:
dir /a:l filename | find "<SYMLINKD>" >nul && echo directory symbolic link
Run Code Online (Sandbox Code Playgroud)
要获取文件链接的目标:
for /f "usebackq delims=[] tokens=2" %i in (`dir /a:l filename ^| find "<SYMLINK">`) do @echo %i
Run Code Online (Sandbox Code Playgroud)
要获取目录链接的目标:
for /f "usebackq delims=[] tokens=2" %i in (`dir /a:l filename* ^| find "<SYMLINKD>"`) do @echo %i
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
2095 次 |
最近记录: |