【发布时间】:2021-07-29 14:33:39
【问题描述】:
我想使用批处理脚本根据文件扩展名和文件名迭代文件夹中的所有文件。
我有下面的代码来获取文件扩展名,并且可以用%%~xa 回显它,但是当我尝试将它定义为file_extension 时,输出只是返回为ECHO is off.
谁能告诉我怎么做?
@echo off
setlocal EnableDelayedExpansion
for %%a in (folder\*) do (
echo Processing file = %%~nxa
echo Processing file extension %%~xa
echo Processing file name = %%~na
SET file_extension = %%~xa
echo !file_extension!
echo %%~xa
)
pause
【问题讨论】:
-
SET 工作正常,问题是您没有正确使用它!如果将其更改为
echo !file_extension !,它将起作用。但是,我建议您首先正确执行并使用SET file_extension=%%~xa,或者更好的推荐语法Set "file_extension=%%~xa"。
标签: windows batch-file variables