目标
根据中图法规则, 使用Powershell生成对应结构的目录.
中图法的命名规则, 可以参考http://clc.nlc.cn/ztfdsb.jsp
1. 一级目录生成
一级目录从A到Z,
采用Powershell生成目录如下
>> [char[]]([char]'A'..[char]'Z') | % (md "$_")
1.1. 生成字母范围
说明: 首先通过范围生成A到Z的字母,[1],
由于'A'为字符串, 无法使用..符号(生成范围符号), 需使用[char]进行类型强制转换
再通过[char[]]进行类型强制转换,生成字符数组.
1.2. 通过管道生成目录.
使用|符号,表示进行下一个命令处理,
这里%表示Foreach-Object, 其可以用foreach和%表示.
$_表示上一个命令的输出对象.
md是mkdir的别名.
2. 二级目录的生成
2.1 生成目录A1~A8
命令如下:
>> 1..8 | % {md "A$_"}
2.2 按照特定字母生成目录
命令如下:
>> "B,D,E,F,G,H,J,K,L,M,N,P,Q,S,U,V" -split "," | % {md "T$_"}
说明,-split将字符串按照分割符切割.
3. 按照文本文件的行生成目录
例如文本文件test.txt内容为:
0 科学与知识、组织、计算机科学、信息、文献、图书馆学、机构、出版物 1 哲学、心理学 2 宗教、神学 3 社会科学 5 数学、自然科学 6 应用科学、医学、科技 7 艺术、娱乐、休闲、体育 8 语言、语言学、文学 9 地理、传记、历史
采用Get-Content命令按行获取,生成数组. 注意文件的格式为UTF8, 执行Get-Content不添加编码的话,会导致乱码的情况.
>> Get-Content -Path test.txt -Encoding UTF8 | % {md "$_"}
参考目录:
[1]. http://www.bathome.net/thread-32305-1-1.html
[2]. https://devblogs.microsoft.com/scripting/use-powershell-and-ascii-to-create-folders-with-letters/
[3]. https://www.cnblogs.com/lavender000/p/6941393.html
--------------------- 勿在浮沙筑高台