我最近在.cmd文件中包含了与此类似的行:
for /f %%f in ('dir /b .\directory\*.sql') DO sqlcmd -b -o ".\directory\output\%%f.txt" -i ".\directory\%%f"
Run Code Online (Sandbox Code Playgroud)
最初我只使用%f,它在命令行上运行时可以正常工作,但在运行文件时却不行.当我切换到%% f时,它在文件中工作.只是想知道区别是什么.
范围:Windows XP或更新的工具:批处理脚本
我需要能够从系统%PATH%变量中删除不需要的路径名.我知道如何使用诸如SETX.EXE之类的工具向系统%PATH%变量添加新路径名,这也使其在现有CMD环境中立即可用.这可能是使用FIND和/或某种FOR循环的问题,但我不太清楚如何实现这一点.这是一个示例路径声明......
%PATH% = C:\;C:\Program Files\Common Files\Java;C:\oracle\product\10.2.0\bin;C:\WINDOWS;C:\WINDOWS\system32;
Run Code Online (Sandbox Code Playgroud)
从这里,我需要能够删除与"oracle"相关的完整路径名.因此,在上面的示例中,我需要能够从上面的路径语句中删除"C:\ oracle\product\10.2.0\bin".不幸的是,oracle路径名称不仅可能与上面显示的不同,因此可能存在多个oracle路径名称,并且都需要删除.我试着在这里实施解决方案......
但是,它只是不起作用.该脚本将找不到路径名.任何帮助,将不胜感激.谢谢.