क्या मैं कोशिश कर रहा हूँ बनाने के लिए है एक सरल स्क्रिप्ट का चयन करने के लिए एक नेटवर्क ड्राइव पर रखा जा करने के लिए फिर पैदाल एक सूची से. जानकारी storred में एक सीएसवी फ़ाइल ।
पहले स्क्रिप्ट पढ़ता सीएसवी फ़ाइल और दुकानों के मापदंडों में वस्तुओं की एक सरणी.
जब मैं का उपयोग करने का प्रयास मानकों में किसी नेट उपयोग आदेश, मैं एक System Error 67
.
यहाँ है मेरे कोड :
@echo off
setlocal EnableDelayedExpansion
set i=0
for /f "usebackq skip=1 tokens=1-4 delims=;" %%a in ("data.csv") do (
set list[!i!].name=%%a
set list[!i!].endpoint=%%b
set list[!i!].user=%%c
set list[!i!].pwd=%%d
set /a i=!i!+1
)
set "x = 0"
:SymLoop
if defined list[%x%] (
call echo %list[%x%]%%
set /a "x+=1"
goto :SymLoop
)
set /a "x+=1"
for /l %%i in (0 1 %x%) do (
call echo %%i %%list[%%i].name%%
)
set /p tomount=Which network drive would you like to mount ?
net use z: %%list[%tomount%].endpoint%% /user:%%list[%tomount%].user%% %%list[%tomount%].pwd%%
set /p dummy=Hit ENTER to unmount and exit...
net use z: /delete
pause
CSV फ़ाइल की तरह लग रहा है यह (इन उदाहरण हैं, मैं का उपयोग सही डेटा में परिदृश्य):
Nom;Endpoint;ID;Password
test1;\\1.1.1.1\dir1\dir2;admin;pssword
test2;\\2.2.2.2\dir1\dir444;admin;testpwd
जब मैं call echo %%list[%tomount%].endpoint%% /user:%%list[%tomount%].user%% %%list[%tomount%].pwd%%
, मैं सही चर, और जब मैं मैन्युअल रूप से दर्ज नेट उपयोग आदेश के साथ सटीक एक ही पैरामीटर है, यह भी काम करता है.
क्या आप किसी भी विचार कैसे इस को हल करने के ? धन्यवाद.
delayedexpansion
है , तो इसे का उपयोग बंद है, जबकि यह अभी भी सक्षम है. आप कर रहे हैं lfie के लिए कठिन अपने आप को.