嘿试图通过执行另一个蝙蝠来添加一个蝙蝠到我的启动文件夹。
SETUP.BAT
move "run.bat" "%AppData%\Roaming\Microsoft\Windows\Start Menu\Programs\Startup\"
pause
的run.bat
echo "k"
pause
如果我正常运行,则会显示错误消息:
The system cannot find the path specified
如果以admin身份运行:
the system cannot find the file specified
答案 0 :(得分:1)
"%AppData%\Roaming\Microsoft\Windows\Start Menu\Programs\Startup\"
不作为目录存在。
%appdata%
扩展为C:\Users\Hawk\AppData\Roaming
,因此您实际上是在告诉脚本转到C:\Users\Hawk\AppData\Roaming\\Roaming\Microsoft\Windows\Start Menu\Programs\Startup\
,而move "run.bat" "%AppData%\Microsoft\Windows\Start Menu\Programs\Startup\"
pause
并不存在。
将setup.bat更改为
<location path="/">
<system.web>
<authorization>
<allow users="user1@mydomain.com"/>
<deny users="*"/>
</authorization>
</system.web>
</location>
<system.web>
<authentication mode="None"/>
<compilation debug="true" targetFramework="4.5.2"/>
<httpRuntime targetFramework="4.5.2"/>
<pages>
<namespaces>
<add namespace="System.Web.Optimization"/>
<add namespace="Microsoft.AspNet.Identity"/>
</namespaces>
<controls>
<add assembly="Microsoft.AspNet.Web.Optimization.WebForms" namespace="Microsoft.AspNet.Web.Optimization.WebForms" tagPrefix="webopt"/>
</controls>
</pages>
<membership>
答案 1 :(得分:1)
原因在于,当您以管理员身份运行时,&#39;当前目录已更改。为了证明这一点,暂时将这两行放在bat文件的开头附近:
echo(cd=%cd%
pause
现在正常运行一次,作为管理员运行一次,您将看到当前目录不是您所期望的。要解决这个问题,我几乎总是将这一行放在我的bat文件的开头(在尝试引用任何文件/文件夹之前):
pushd %~dp0
将确保将当前目录还原到您启动的位置。为证明这一点,请将上述行放在临时ECHO声明之前并再次测试。