Preface
作为一个每天和 Codex CLI 对线的时长与工作时长不相上下的资深 AI 对线者,我在长时间对线的过程中养成了一个习惯,就是创建大量的临时性的工作目录用于 Codex 工作:
1 | C:\Users\Administrator\Workspace>dir |
这非常适合于让 AI 进行临时性的、短期的且需要读写文件的工作,例如调研写报告、数据处理、探索性的项目开发,这些工作目录往往在完成后不再会被访问,因此也不需要繁杂的项目结构组织。
但随着临时工作目录越来越多,我注意到我开始反复在做同一件事:
1 | 打开 Windows Terminal |
于是,写脚本的本性蠢蠢欲动
Body
Overview
ws.cmd 是一个支持快速创建和切换工作目录的 Windows CMD 脚本,以 ws.cmd 所在目录为工作区,在工作区下创建、查找目录
目录格式:[type]-[number]-[YYMMDD]
示例:Temp-12-260702、Workspace-3-260702
其中 type 默认值为 Temp,默认值可修改,支持字母、数字、下划线,number在同一个type内始终递增,[YYMMDD]为目录创建时间
Usage
将脚本放在工作区之下,例如
C:\Users\Administrator\Workspace\ws.cmd将路径写入 PATH 使得脚本支持在任意位置执行
创建目录
1
2
3ws new [type]
# ws new 可缩写为 n
ws n [type]例如工作区中
number最大的目录为Temp-11-260702和Workspace-3-260702,且执行命令时的日期为 2026 年 7 月 2 日,那么ws new将创建Temp-12-260702,ws n Workspace将创建Workspace-4-260702cd到目录
1
2
3
4ws <number> [type]
ws last [type]
# ws last 可缩写为 l
ws l [type]例如工作区中
number最大的目录为Temp-11-260702和Workspace-3-260702,且有其他的目录例如Temp-2-260615、Workspace-1-260619等,那么ws l将cd到Temp-11-260702,ws last Workspace将cd到Workspace-3-260702,而ws 2将cd到Temp-2-260615创建并cd目录
1
ws nl [type]
等效为先执行
ws n [type]后执行ws l [type]修改默认
type1
2
3ws type <type>
# ws type 可缩写为 t
ws t <type>type的默认值为Temp,因此上述情景中ws n或ws l都是对Temp开头的目录进行操作,可以通过ws t Workspace修改type默认值为Workspace之后执行ws n或ws l将默认对Workspace开头的目录进行操作配置文件
该脚本会在同目录生成
ws.conf配置文件,用于保存必要配置
Limit
该脚本的核心功能之一是cd到指定目录,但是由于子进程不能修改父进程的当前目录,因此该cmd脚本只能在 CMD 中生效,如果使用 PowerShell 则需要写 ps1 脚本。一个统一且完美的解决方案目前来看几乎不存在,但可能考虑通过监测父进程 shell 类型来嵌套启动同类型 shell 的方式间接实现,或使用模拟键盘输入的方式控制。
该脚本目前未支持用户自定义目录命名格式。
Appendix
脚本如下
1 | @echo off |