PowerShell生成中图法目录

目标

根据中图法规则, 使用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

 

                            --------------------- 勿在浮沙筑高台

posted @ 2023-04-01 06:55  勿在浮沙筑高台  阅读(63)  评论(0编辑  收藏  举报