下面是我使用的代码:
for /f %%a in ('"dir /a:-d /s /b %Path%|find /c ":""') do set check=%%a
该命令可以在本地环境下正常运行,并返回变量"check"。(这意味着%Path中有多少个文件)
但是,当将%Path%设置为共享路径时,变量"check"总是返回0。
我甚至可以成功地使用dir %Path%
。
如何修复代码从共享文件夹返回变量?
执行该搜索的另一种方法是计算非空白项的数量。因此,您可以像这样执行搜索:
for /f %%a in ('dir /a:-d /s /b %_myPath% ^|find /c /v ""') do set "check=%%a"
我同意Stephan的观点,你不应该使用%PATH%作为变量。另外,应该在set命令周围使用引号。如果这不起作用,我们需要知道路径变量的确切名称和位置。