我无法在我的批处理脚本中的for循环结束时执行if语句。代码如下......
for /F "tokens=2 delims=/:" %%D in (%DBhost%.txt) do 'if [NOT] %%D==localhost (RD /S /Q "\\%%D\C$\%%D_Health_Check_Logs")'
我搜索了很多,实际上认为这可能只是无效?反正有没有为每个执行if语句?我觉得必须有一些我想念的东西。我尝试了()
,{}
和[]
,但没有一个能让它正常工作。
感谢任何想法或想法。
答案 0 :(得分:1)
让我怀疑rd
command是否允许UNC路径。下一个代码段应以正确的方式处理UNC Network paths。但是,(不确定):它不会照顾
RD
操作的权利...... ...
for /F "tokens=2 delims=/:" %%D in (%DBhost%.txt) do (
if /I NOT "%%~D"=="localhost" (
pushd "\\%%D\C$"
RD /S /Q "%%D_Health_Check_Logs"
popd
)
)
答案 1 :(得分:0)
非常感谢大家。看起来像JosefZ和aschipfl都在。 RD确实与UNC路径一起工作,我无法进行推送和弹出工作,但不需要。这是一个确保逻辑条件正常工作的问题,而不是。一旦我有了这个设置,下面的代码就像一个魅力。
工作代码......
for / F“tokens = 2 delims = /:”%% D in(%DBhost%.txt)do(if / I NOT“%% D”==“%DBhost%”(RD / S / Q) “\ %% d \ C $ \ %% D_Health_Check_Logs”))