在U:\mtproject\obj\
文件夹和包含*.def
个文件的子文件夹中。我需要获取这些文件路径并在命令提示符下打印。
但在打印之前,我需要将U:\mtproject\obj\
部分替换为E:\backupDir\DefBackup\
。
这是我尝试过的和
set objdir=U:\mtproject\obj\
set backupdir=E:\backupDir\DefBackup\
for /r %objdir% %%f in (*.def) do (
set new_def_path = %backupdir%!%%f:%objdir%=!
echo %new_def_path%
)
它只显示此输出。我觉得字符串替换的语法有些问题。知道什么是错的吗?
ECHO is off.
ECHO is off.
ECHO is off.
ECHO is off.
ECHO is off.
ECHO is off.
ECHO is off.
ECHO is off.
ECHO is off.
答案 0 :(得分:0)
a)使用延迟扩展(如SomethingDark已经提到的)
b)删除let $db := doc('t.xq'),
$q := $db//*[.//title and .//author][not(.//*[.//title and .//author])]
return
$q
命令的空格,或者空格将成为变量名或值的一部分。
[.//title and .//author]
的简短演示
(有趣的是:你已经使用了延迟扩展。只需这样做)