ygo*_*goe 3 variables path batch-file
Windows(XP及更高版本)上的批处理文件需要知道它所在目录的名称.只有文件夹名称,而不是整个路径,而不是批处理文件名本身.
因此,存储在C:\ temp\abc\script.cmd中的文件应该在变量中得到名称"abc".
怎么办?
通常的参数扩展,例如%~p0
只能提取整个路径(\ temp\abc \),它们只能在真实参数(%0,%1,%2 ...)上工作而不能在其他变量上工作,因此它们不能堆叠或组合.所以他们对这项任务太有限了.该for
命令只能从开始处定位到定义位置的令牌,而不是"最后"或倒数第二个令牌.
为了简化执行和可移植性,它必须是批处理文件(.cmd),而不是PowerShell.
只要您拥有文件的完整路径,就可以简单地追加\..
并使用带有正确修饰符的FOR循环来获取父文件夹名称.
for %%A in ("%~f0\..") do set "myFolder=%%~nxA"
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
4969 次 |
最近记录: |