簡體   English   中英

為什么此Windows Batch腳本找不到程序net.exe?

[英]Why is this Windows Batch script not able to find the program net.exe?

我正在創建一個非常簡單的批處理腳本,該腳本可以根據用戶輸入來映射驅動器,並首先檢查該驅動器是否不存在。

@echo off
:EnterInfo
set /P path=Please Enter The Path You Want To Map(EG: \\server\folder)          
set /P z=Please Chose A drive Letter To Map.(EG Z)  
goto :CheckExist

:CheckExist
%z%:\
pause
if exist %z%:\ (
    set /P Sure=A Drive Is Already Using Drive Letter %path%:\ Are You Sure You Want To Replace It?[Y/N]
    if /I "%Sure%" EQU "Y" goto :SetDrive
    if /I "%Sure%" EQU "N" exit)
goto :SetDrive

:SetDrive
C:
dir
net use z: "%path%"
pause

這是到目前為止的代碼。 我收到一個錯誤:腳本進入(net use Z:“%path%”)時,'net'不被識別為內部命令或外部命令,盡管如果我要運行命令的輸入也可以它在cmd窗口中。

我已經檢查了腳本的位置,並且它從C:\\ Users \\%username%\\運行,就像cmd框也默認它的位置一樣。 我真的很困惑為什么它不能識別網絡使用。 提前致謝

問題是這一行:

set /P path=Please Enter The Path You Want To Map(EG: \\server\folder)          

Windows已使用PATH環境變量。 它告訴命令解釋器在哪里可以找到這樣的程序net.exe ,這是你的sys(tem32|wow64)文件夾中。 您不能隨心所欲地覆蓋它,並期望以后一切都能正常工作。 您將變量PATH設置為您要用戶映射的驅動器的網絡路徑,它將覆蓋實際的PATH變量。

解決方案:使用其他變量名,例如mypath

暫無
暫無

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

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