所以我想将Echo %% a转换成另一个txt文件,但似乎没什么用。 这是代码:
for /f "delims=" %%a in (
'dir "*.txt" /b /s /a-d'
) do Echo for /f "delims=" %%a in ^( >> "%%a"
简单:输出文件如下:
“for / f”delims =“C:\ Documents and 设置\ xxxxx \ Desktop \ alpha \ lol.txt in(“。
我只需要一个完整的路径,但“ %% a ”。蝙蝠文件。
答案 0 :(得分:1)
你想要文字%%a
?
尝试%%%%a
第二个建议:
尝试%%%%^a
第三 - 将元变量(循环控制变量)更改为%%b
for /f "delims=" %%b in (
'dir "*.txt" /b /s /a-d'
) do Echo for /f "delims=" %%%%a in ^( >> "%%b"
答案 1 :(得分:0)
试试这个:
for /f "delims=" %%a in ('dir "*.txt" /b /s /a-d' ) do Echo %%a >> output.txt
答案 2 :(得分:0)
如您所见,在循环中不能直接转义%%a
表达式。
但是像Magoo提到的那样,它可以通过改变循环参数来解决。
您也可以使用解析器创建%%a
输出。
setlocal EnableDelayedExpansion
set "static=for /f "delims=" %%%%a in ("
for /f "delims=" %%a in ( 'dir "*.txt" /b /s /a-d') do (
echo !static! >> "%%a"
)
变量static
的内容将会展开,但内部%%a
稍后不会展开。