我正在创建一个批处理文件来打开远程计算机管理控制台,方法是将用户ID作为输入,并从文件data.csv中的第二列获取计算机名称。它在第一次尝试时工作正常。当它返回到:开始标签。并要求其他输入。它给出了错误。系统找不到文件./data.csv 我的代码是
:start
set /p Input="Enter User-ID:"
for /f "usebackq tokens=1-4 delims=," %%a in (".\data.csv") do (
if %input% ==%%a ("cmd /c Start /B /wait compmgmt.msc –a /computer=%%b")
)
cls
GOTO start
答案 0 :(得分:0)
将%~dp0用于批处理文件中的路径(而不是像。这样的相对路径)的好习惯,如果当前工作文件夹更改文件将始终定位。
所以改为%~dp0data.csv
答案 1 :(得分:0)
:start
set /p Input="Enter User-ID:"
PUSHD
for /f "usebackq tokens=1-4 delims=," %%a in (".\data.csv") do (
if %input% ==%%a ("cmd /c Start /B /wait compmgmt.msc –a /computer=%%b")
)
POPD
cls
GOTO start
应恢复理智,推送目录,然后在下一个周期之前恢复它。