目标

根据中图法规则, 使用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 勿在浮沙筑高台 阅读(87) 评论(0) 推荐(0) 编辑
摘要: 1. 背景 使用firefox的截图工具得到的图片都有时间戳的前缀, 通过使用PowerShell批量去除文件的前缀。 2. 基本原理 获取所有的指定文件,使用Get-ChildItem命令 对文件重命名,使用Rename-Item命令 3. 实现代码 1 # 例如文件名: Screenshot 2 阅读全文
posted @ 2023-02-07 14:44 勿在浮沙筑高台 阅读(373) 评论(0) 推荐(0) 编辑
摘要: 1. 基本原理 OpenSSL库提供了MD5的计算, 使用该库计算文件的MD5值 2. 实现代码 1 #include <openssl/md5.h> 2 #include <fstream> 3 #include <iomanip> 4 5 std::ifstream inStream(fileN 阅读全文
posted @ 2023-01-28 09:40 勿在浮沙筑高台 阅读(1380) 评论(0) 推荐(0) 编辑
摘要: 1. 基本原理 加载图像, 默认为RGB三通道,不存在透明通道, 通过chanels函数拓宽通道, 2. 实现代码 int shiftColor[3]{0, 0, 0} cimg_library::CImg<unsigned char> img(imgFile.c_str()); img.chann 阅读全文
posted @ 2023-01-28 09:31 勿在浮沙筑高台 阅读(91) 评论(0) 推荐(0) 编辑
摘要: 编程环境: VC6.0 绿色版 DirectX 9.0 SDK 1. 采用NMake方式编译DX9的代码, 不使用IDE。 界面采用Win32 API方式构建。 2. 准备源代码, 本例采用一个绘制三角形的代码文件(main.cpp) // include the basic windows hea 阅读全文
posted @ 2022-11-01 18:44 勿在浮沙筑高台 阅读(272) 评论(0) 推荐(0) 编辑
摘要: 参考文档: RFC3629标准. 1. 基本原理 对于任意一个字, 都可以用一个唯一码(UNICODE码, 由标准委员会编制)表示, 在应用过程中, 需要对码进行编码.常用的编码方式为UTF-8. UTF-8采用类似于IP地址分配的机制. 即对于不同范围的Unicode码, 采用不同的模板进行编码. 阅读全文
posted @ 2022-03-09 10:15 勿在浮沙筑高台 阅读(609) 评论(0) 推荐(0) 编辑
摘要: 常用的命令行启动命令提示符&powershell的方法. 1. 对于Dos命令. 编写启动文件start.bat @rem 这里设置环境变量 set Path=%Path%;"xx\xxx" start cmd 双击启动, 结果如下: 2. 对于powershell 编写启动文件start.ps1 阅读全文
posted @ 2022-02-22 16:34 勿在浮沙筑高台 阅读(511) 评论(0) 推荐(0) 编辑
摘要: 背景: 存在一个命令, 需要文件名作为参数, 如果手动输入太复杂, 工作量太大, 目标: 编写PowerShell脚本, 实现拖拽输入.. 1. 首先编写cmd. 使支持文件拖拽输入. 由于使用其他的手段(ps脚本, ie快捷方式)好像都存在问题(不太明白如何支持拖拽), 最简单的就是批处理. 批处 阅读全文
posted @ 2022-02-09 14:29 勿在浮沙筑高台 阅读(774) 评论(0) 推荐(0) 编辑
摘要: 问题描述: 在AutoCAD二次开发中, 使用CADCommand只能定义命令. 无法接受参数. 采用Lisp编程能接受额外的参数. 开发环境: IDE: Visual Studio 2019 CAD: AutoCAD 2019版本 1. 打开VS, 新建C#项目, 类型选择,类库, 基于.NetF 阅读全文
posted @ 2022-01-14 18:22 勿在浮沙筑高台 阅读(783) 评论(1) 推荐(0) 编辑
摘要: 使用Win C生成界面程序时. 由于CreateWindow使用了错误的参数, 导致无法创建窗体. wndclass.lpszClassName = szClassName; // 这里是类名设置 if(!RegisterClass(&wndclass)) { // error 发生错误. retu 阅读全文
posted @ 2022-01-07 18:26 勿在浮沙筑高台 阅读(186) 评论(0) 推荐(0) 编辑
点击右上角即可分享
微信分享提示