Batch file 即使我们多次调用批处理,如何编写一个批处理文件来永久附加一个目录列表而不产生冗余?

Batch file 即使我们多次调用批处理,如何编写一个批处理文件来永久附加一个目录列表而不产生冗余?,batch-file,dos,Batch File,Dos,假设我想将以下目录列表(为了简单起见,采用精简版本)永久附加到我的系统(与我的本地)PATH环境变量相对) c:\company\dept\users d:\school\teachers e:\school\students 我必须通过单击一个批处理文件来实现这一点(打开admin权限)。如果我不确定我是否已经完成了,我可以再次单击批处理文件,但不附加冗余 简而言之,我们如何编写这样的批处理文件?我想我们必须对列表中的每个项目进行测试,无论它是否在路径中。但如何做到这一点呢 到目前为止,我所

假设我想将以下目录列表(为了简单起见,采用精简版本)永久附加到我的系统(与我的本地)
PATH
环境变量相对)

c:\company\dept\users
d:\school\teachers
e:\school\students
我必须通过单击一个批处理文件来实现这一点(打开admin权限)。如果我不确定我是否已经完成了,我可以再次单击批处理文件,但不附加冗余

简而言之,我们如何编写这样的批处理文件?我想我们必须对列表中的每个项目进行测试,无论它是否在
路径中。但如何做到这一点呢

到目前为止,我所做的是

setx PATH "%PATH%;c:\company\dept\users" /m
setx PATH "%PATH%;d:\school\teachers" /m
setx PATH "%PATH%;e:\school\students" /m
但防止裁员并不明智


我不知道如何实施冗余测试

作为一般方法,我建议使用
delims=
以分号拆分
%PATH%
,然后将每个部分与考虑添加的路径进行比较

如果您在过程中遇到了具体问题,请将其作为新问题发布(或搜索——它们可能已经得到了回答),我们将很乐意回答更多问题

通过在命令行中键入
help for
,可以获取有关
for
循环的文档


编辑:这里有一个更好的答案,来自超级用户论坛:

@NateHekman:请查看我的最新更新。如果没有其他答案可供比较,我将接受此答案。:-)你看到我的编辑了吗?我认为这是你最好的答案。我已经访问了链接。谢谢你的链接。