如题,我启动脚本一般都喜欢写个快捷.cmd 文件,比如下面这种
@echo off
java -jar test.jar
这样点两下鼠标就执行了,不用敲命令。
但是最近移植到朋友电脑上之后发现执行不了,他的电脑上双击这个文件后会自动以c:/windows/system32
这个目录执行,而不是像我一样在当前目录下执行。
有老哥知道这是什么原因导致的吗?目前他因为这个原因每次都要手敲命令。。
1
dethan 2022-01-12 00:32:46 +08:00 via Android
原因我倒是不知道,但是感觉可以绕过这个问题,把切换目录命令写进去...
|
3
lovestudykid 2022-01-12 00:33:38 +08:00 via iPhone
他默认以 administration 权限打开?
|
4
crab 2022-01-12 00:38:03 +08:00 1
加个 cd /d %~dp0
|
5
ysc3839 2022-01-12 00:56:52 +08:00 via Android
我觉得没必要纠结默认工作目录是啥的问题,因为本来工作目录就可能不是脚本所在目录,比如用户用 shell 在别的目录下使用完整路径执行这个脚本。如果你期望工作目录是脚本所在目录的话,应该加上切换过去的代码。
|
6
kokutou 2022-01-12 06:48:42 +08:00 via Android
你电脑彻底关了 UAC ,你朋友电脑没彻底关闭。
没彻底关 UAC 的,有个切换管理员的过程,默认路径会变到 system32 。。。 我不知道微软为啥这样搞。 cmd 前面加一行切换到批处理文件所在路径即可。 cd /d "%~dp0" 注意引号是必须的,防止当前文件夹路径里有空格而导致不能按预期工作。 |