SETLOCAL ENABLEDELAYEDEXPANSION
FOR %%A IN (*.*) DO (
SET var=%%A
ECHO !var:~0,-4!
)
由于我们在FOR循环中迭代变量,因此必须在变量周围使用!
,然后结合方法:~#,-#
从变量的末尾删除字符,它不需要。
在我的示例中,我们只是从文件名中删除扩展名。我了解您可以使用%%~nA
来获取文件名,但这只是一个使用示例。
有没有办法在FOR循环中执行此操作?也许与我使用的方法不同?
答案 0 :(得分:2)
如果set var=%%A
后面有隐藏空格,则可能会失败
然后你只删除空格,因此最好使用
set "var=%%A"
它独立于隐藏的空间,甚至在最后一个引号后面都会忽略追逐者。
但也许你的问题是完全不同的类型?