- 帖子
- 5
- 积分
- 17
- 技术
- 0
- 捐助
- 0
- 注册时间
- 2019-6-29
|
回复 8# kingshui
这个代码可以借鉴,谢谢!
折腾了几天终于解决,原因是if exist %%afile1 echo ...,不能这样写,要写成下面这样:
if exist %file% ...
setlocal EnableDelayedExpansion
for /F "usebackq tokens=2 delims==:" %%a in (`wmic LogicalDisk where "DriveType='2'"get DeviceID /Value`) do (
set UFD=%%a
set File=%UFD%:\file1
IF EXIST %file% commander...
)
也就是说if之后的判断条件虽然可以是变量但是不可以嵌套运算,必须提前准备好。
另外我之前的for语句delims分隔符没有“:”,现在增加了。原因是当半角冒号作为变量值的一部分时,如何该变量参加变量组合的时候系统会把变量里的半角冒号当作控制字符,而不是普通字符,这样就得不到需要的结果。 |
|