#3 通过 Windows 命令行(CMD)打开指定目录
Windows CMD 2013-12-24想通过 CMD 脚本实现一个功能:点击脚本打开某个指定目录。
coding in a complicated world
想通过 CMD 脚本实现一个功能:点击脚本打开某个指定目录。
cd . > a.txt
cd.表示改变当前目录为当前目录,即等于没改变;而且此命令不会有输出。
表示把命令输出写入到文件。后面跟着a.txt,就表示写入到a.txt。
而此例中命令不会有输出,所以就创建了没有内容的空文件。
copy nul a.txt
nul表示空设备,从概念上讲,它不可见,存在于每个目录中,可以把它看成一个特殊的 “文件”,它没有内容;一般可把输出写入到nul,来达到屏蔽输出的目的,如pause>nul,此命令执行效果是暂停,并且不会显示“请按任意键继续. . .”。
此例子表示将空设备复制到a.txt,同样创建了没有内容的空文件。
type nul > a.txt
此例子表示显示空设备的内容,并写入到a.txt。
echo a 2> a.txt
“2” 表示错误输出的句柄,此例中没有错误输出,所以创建了没有内容的空文件。
其实>默认都是重定向了句柄1,即标准输出句柄。比如 cd . > a.txt
,其实就是 cd . 1> a.txt
。
同样,句柄 3 到 9 也可以使用在本例中,它们是未经定义的句柄,也不会有输出,如 echo a 3> a.txt
。
fsutil file createnew d:\a.txt 0
使用 fsutil
创建了一个空文件。
只要没有输出,并重定向到文件就可以了
最常用的是 echo 命令,此例子表示把字母a和回车换行覆盖输出到 a.txt(如果 a.txt 原来已有内容则覆盖掉原来的内容),如果追加内容,可以使用>>,如 echo b >> a.txt
,表示把 b 和回车换行追加到文件末尾。
type a.txt > b.txt
copy a.txt b.txt
fsutil file createnew d:\a.txt 1
<SYMLINK>
,<JUNCTION>
)PS:Windows 下创建的快捷方式(.lnk 文件)不属于文件链接,在文件系统中也不是透明的存在,只在 图形界面中有用。
$ mklink /?
创建符号链接。
MKLINK [[/D] | [/H] | [/J]] Link Target
/D 创建目录符号链接。默认为文件
符号链接。
/H 创建硬链接而非符号链接。
/J 创建目录联接。
Link 指定新的符号链接名称。
Target 指定新链接引用的路径
(相对或绝对)。
只有软链接和硬链接两种,没有 Junction 这种东西混淆视听。
ln -sf src dst # 创建软链接
ln -Pf src dst # 创建硬链接
$ ln --help
用法:ln [选项]... [-T] 目标 链接名
或:ln [选项]... 目标
或:ln [选项]... 目标... 目录
或:ln [选项]... -t 目录 目标...
在第一种格式中,创建具有指定<链接名>且指向指定<目标>的链接。
在第二种格式中,在当前目录创建指向<目标>位置的链接。
在第三、四种格式中,在指定<目录>中创建指向指定<目标>的链接。
默认创建硬链接,当使用--symbolic 时创建符号链接。
默认情况下,创建每个目标时不应存在与新链接的名称相同的文件。
创建硬链接时,每个指定的<目标>都必须存在。符号链接可以指向任意的位置;
当链接解析正常时,将其解析为一个相对于其父目录的相对链接。
必选参数对长短选项同时适用。
--backup[=CONTROL] 为每个已存在的目标文件创建备份文件
-b 类似--backup,但不接受任何参数
-d, -F, --directory 允许超级用户尝试创建指向目录的硬链接
(注意:此操作可能因系统限制而失败)
-f, --force 强行删除任何已存在的目标文件
-i, --interactive 删除目标文件前进行确认
-L, --logical 如目标为符号链接,本次创建链接时将其解引用
-n, --no-dereference 如果给定<链接名>是一个链接至某目录的符号链接,
将其作为普通文件处理
-P, --physical 创建直接指向符号链接文件的硬链接
-r, --relative 创建相对于链接位置的符号链接
-s, --symbolic 创建符号链接而非硬链接
-S, --suffix=后缀 自行指定备份文件的后缀
-t, --target-directory=目录 在指定<目录>中创建链接
-T, --no-target-directory 总是将给定的<链接名>当作普通文件
-v, --verbose 列出每个链接的文件名称
--help 显示此帮助信息并退出
--version 显示版本信息并退出
备份文件的后缀为"~",除非以--suffix 选项或是 SIMPLE_BACKUP_SUFFIX
环境变量指定。版本控制的方式可通过--backup 选项或 VERSION_CONTROL 环境
变量来选择。以下是可用的变量值:
none, off 不进行备份(即使使用了--backup 选项)
numbered, t 备份文件加上数字进行排序
existing, nil 若有数字的备份文件已经存在则使用数字,否则使用普通方式备份
simple, never 永远使用普通方式备份
使用 -s 选项会忽略 -L 和 -P。
否则当<目标>为一个符号链接(默认为 -P)时,会由最后一个指定的选项来控制行为。
GNU coreutils 在线帮助:<https://www.gnu.org/software/coreutils/>
请向 <http://translationproject.org/team/zh_CN.html> 报告任何翻译错误
完整文档 <https://www.gnu.org/software/coreutils/ln>
或者在本地使用:info '(coreutils) ln invocation'