相关:
How to list the elements of the path in a batch file?
How does FOR work?如何编写.bat或.cmd文件以从PATH中删除元素?
你会如何编写一个批处理文件或CMD文件从路径中删除一个元素?它应妥善处理:如果
- 差异
- 短名和长名
我做这个使用tr.exe但它是缓慢而复杂,使用临时文件,这使得它更更复杂。
我认为的答案是这样的:
setlocal
set tpath=""
set _path="%PATH:;=" "%"
for %%p in (%_path%) do (
call :KeepIfNotEqual %%p %elementToRemove%
)
endlocal & set path=%tpath%
...其中%elementToRemove%是路径元素删除。 KeepIfUnique必须是一个具有两个参数的子例程 - 目录名称,对它们进行归一化处理,并且如果不等于第二个参数(elementToRemove)的,则将第一个参数附加到tpath。
正如我所说,我可以用tr.exe来做到这一点,但我可以用windows cmd.exe shell中的内置命令来做到吗?
编辑:我想当你得到它的时候,问题是,如何在cmd.exe中进行大小写转换?
Windows 7包含了PowerShell 2,它可以让你的生活变得更轻松... – TrueWill 2009-09-16 01:02:32