[英]Batch Script Removing characters from a variable inside a FOR loop
SETLOCAL ENABLEDELAYEDEXPANSION
FOR %%A IN (*.*) DO (
SET var=%%A
ECHO !var:~0,-4!
)
因为我们在FOR循环中迭代变量,所以你必须使用!
然而,在变量周围,结合方法:~#,-#
从变量的末尾删除字符,它不需要。
在我的示例中,我们只是从文件名中删除扩展名。 我知道您可以使用%%~nA
来获取文件名,但这只是一个使用示例。
有没有办法在FOR循环内执行此操作? 也许与我使用的方法不同?
如果set var=%%A
后面有隐藏空格,则可能会失败。
然后你只删除空格,因此最好使用
set "var=%%A"
它独立于隐藏的空间,甚至在最后一个引用后也忽略了追逐者。
但也许你的问题是完全不同的类型?
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.