当我尝试在“ Input_Files”子文件夹中搜索zip文件时,该命令在“ \ 172.24.191.117 \ data1 \ NEW-ENDORSEMENTS \ Backlog_checked \%J%\ CLIENT-SUPPLIED \ Backlog”之后未运行。我认为空间是获取路径的问题。请检查并清除。
@echo off
echo.
set /p J=Enter Journal ID :
set /p A=Enter Article ID :
set "BaseDir=\\172.24.191.117\data1\NEW-ENDORSEMENTS\Backlog_checked\%J%\CLIENT-SUPPLIED\Backlog Transfer\Non EV articles\%J%%A%"
For /f "delims=" %%A in ('
Dir /B/S/A-D "%BaseDir%\*.zip" ^| Findstr /I "\\Input_Files\\[^\\]*\.zip$"
') Do start %%A
pause
答案 0 :(得分:0)
将start %%A
替换为start "" "%%A"
。
DIR 输出与模式匹配的找到的文件,该文件带有完全合格的文件名(文件路径+文件名+文件扩展名),且不包含在双引号中。因此,有必要像使用"%%A"
一样引用该文件并将其嵌入双引号中。
第一个双引号字符串由命令 START 解释为可选标题。因此,必须明确指定标题,以避免将"
中的完整限定文件名解释为标题字符串。由于启动后的用于打开* .zip文件的应用程序很可能是GUI应用程序,因此""
可以使用空的标题字符串,因为在这种情况下,不会使用控制台窗口打开任何命令处理。