如何使用win32com在Windows任务计划程序中创建新文件夹
实现方法
可以直接通过代码创建Windows任务计划程序中的文件夹,无需操作图形界面,核心是调用ITaskFolder接口的CreateFolder方法,你已经获取到的根目录root_folder对象就支持该方法。
关键说明
- 方法接收两个参数:第一个是相对于当前文件夹的目标路径,支持直接传入多级嵌套路径,接口会自动创建所有不存在的父级目录;第二个是安全描述符参数,传
None即可默认继承父文件夹的权限配置 - 如果目标路径的文件夹已经存在,直接调用
CreateFolder会抛出异常,建议创建前先通过GetFolder判断存在性,或者增加异常捕获逻辑
完整示例代码
import win32com.client as win32 # 建立任务计划服务连接 service = win32.gencache.EnsureDispatch('Schedule.Service') service.Connect() root_folder = service.GetFolder("\\") # 替换为你要创建的文件夹路径,支持多级路径,例如 r"CustomTasks\DailyJobs\Backup" new_folder_relative_path = r"CustomTasks" try: # 检查文件夹是否已存在 root_folder.GetFolder(new_folder_relative_path) print(f"路径 {new_folder_relative_path} 已存在,无需重复创建") except Exception: # 不存在则执行创建 created_folder = root_folder.CreateFolder(new_folder_relative_path, None) print(f"路径 {new_folder_relative_path} 创建成功")
补充
创建完成后返回的created_folder对象和你之前获取的root_folder是同类型对象,可以直接在该对象下继续创建子文件夹、注册新的计划任务。
内容的提问来源于stack exchange,提问作者Steven G
相关产品推荐
相关产品推荐

