Windows 为什么';在文本文件中复制带有变量的t dir?
我正在尝试使用一个变量创建一个带有dir命令结果的txt文件Windows 为什么';在文本文件中复制带有变量的t dir?,windows,batch-file,Windows,Batch File,我正在尝试使用一个变量创建一个带有dir命令结果的txt文件 当我执行命令“Pr?ctica%var%”时,将var设置为一个值,然后它才能正常工作(在cmd中)。但我正在尝试在批处理中执行同样的操作,如下所示:dir/b“Pr?ctica%2”>>temp.txt但该文件是空的,而它不应该是空的 是否%2包含引号?如果是这样,这将导致语法错误。使用%~2删除引号 dir /b "Pr?ctica %~2" >> temp.txt 没有足够的信息 您作为%2提供什么 例如,我有一组
当我执行命令“Pr?ctica%var%”时,将var设置为一个值,然后它才能正常工作(在cmd中)。但我正在尝试在批处理中执行同样的操作,如下所示:
dir/b“Pr?ctica%2”>>temp.txt
但该文件是空的,而它不应该是空的 是否%2
包含引号?如果是这样,这将导致语法错误。使用%~2
删除引号
dir /b "Pr?ctica %~2" >> temp.txt
没有足够的信息 您作为
%2
提供什么
例如,我有一组文件
ZZQ9 WITH SPACES.BAT
ZZQ9 WITH%PCNT%K.BAT
ZZQ9 WITH&ERS.BAT
ZZQ9 WITH,COMMAK.BAT
ZZQ9 WITH;SEMITK.BAT
ZZQ9 WITH^CARETK.BAT
执行
batchfilename dummy with
其中batchfilename.bat包含
dir /b "zz?9 %2"
不生成输出(因为没有带“但是”的文件“zz?9
愉快地按预期列出文件
奥托,执行
set GROO=with&batchfilename dummy groo&set groo=
将尝试列出“zz?9 groo”或“zz?9 groo*”文件,这些文件不存在,但
CALL DIR /b "ZZ?9 %%%2%%*"
及
两者都正确列出了目标
CALL DIR /b "ZZ?9 %%%2%%*"
SETLOCAL enabledelayedexpansion
CALL DIR /b "ZZ?9 !%2!*"