簡體   English   中英

如何回答(Y / N)[N]提示,以在Windows上的批處理腳本中刪除映射的網絡驅動器?

[英]How to answer yes to a (Y/N) [N] prompt to delete a mapped network drive in a batch script on Windows?

在執行了幾個命令后,我想從Windows上的批處理文件中自動刪除映射的網絡驅動器。

這是我的腳本:

myscript.bat

net use X: \\myserver\myfolder
pushd X:
dir
net use X: /delete

列出文件后,將提示以下消息:

Is it OK to continue disconnecting and force them closed? (Y/N) [N]:

然后腳本等待用戶手動輸入。 我努力了

echo y | net use X: /delete

但顯示以下消息

No valid response was provided.

腳本再次等待用戶手動輸入。

您已將共享映射到驅動器( X: ,然后更改為該驅動器。 當您嘗試取消映射時,Windows警告您正在嘗試取消映射當前驅動器。 這就像站在用鏈鋸的樹枝上,轉過臉面對樹干,然后開始切斷您所站在的樹枝,而Windows告訴您確認您確實要這樣做並跌倒了。死亡。 :-)停止嘗試切斷您正站在的分支。 只需popd回到您嘗試取消驅動器映射之前的起點,就不會出現提示。

net use X: \\myserver\myfolder
pushd X:
dir
popd
net use X: /delete

這未經測試,但是您根本不需要使用net use如果尚未准備好驅動器, PushD單獨應該臨時映射驅動器,而PopD會取消映射該臨時映射。

給定您的問題代碼,您需要做的只是:

@PushD "\\myserver\myfolder" 2>NUL || Exit /B
@Dir
@PopD

如果您使用注釋中提到的For命令而不是Dir命令,則解決方案完全相同:

@PushD "\\myserver\myfolder" 2>NUL || Exit /B
@For %%A In (*.svg)Do @"%ProgramFiles%\Inkscape\inkscape.exe" -d 85.33 -z "%%A" -e "%%~nA.png"
@PopD

在這兩種情況下,如果沒有其他命令可以執行,則可以省略@PopD行。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM