创建批处理bat相对路径的快捷方式,防止文件夹改名和移动路径的影响

由于工作需求,Python-Django项目打包exe可执行文件,写了一个启动脚本,会对一些客户进行业务输出,故减少操作麻烦,便写了一个快捷方式,但是无法文件夹改名和移动路径,否则就会报找不到路径,废话不多说,上图。。。。

1、启动命令脚本

在这里插入图片描述

2、报错示范

如果对外输出的话无法知道客户电脑目录的,以及客户把项目放在那里。
在这里插入图片描述

3、解决方法

把启动脚本start.bat加了两行命令,第一条是把启动路径保存到变量里;第二条进入变量里的绝对路径。

@set utter_path="%cd%"
@cd %utter_path%/manage 2>nul
manage.exe runserver

4、创建快捷方式

Windows的快捷方式是以绝对路径的,不可以移动路径和改名称。
在这里插入图片描述
创建相对路径的快捷方式,类似一种映射。这样就可以解决无法文件夹改名和移动路径的问题了,再也不怕移动路径了,想移哪里就移哪里,快捷方式不受影响。

C:\Windows\System32\cmd.exe /c start manage\start.bat

在这里插入图片描述

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 好的,这是一个关于计算机技术的问题,我会尽力帮您解答。 以下是批处理bat的代码: ``` @echo off set path=%path%;C:\Windows\System32 set startup_folder=%APPDATA%\Microsoft\Windows\Start Menu\Programs\Startup set shortcut_name=%USERPROFILE%\Desktop\a.lnk set script_path=%USERPROFILE%\Desktop\a.vbs echo Set WshShell = WScript.CreateObject("WScript.Shell") > %script_path% echo Set shortcut = WshShell.CreateShortcut("%shortcut_name%") >> %script_path% echo shortcut.TargetPath = "cscript.exe" >> %script_path% echo shortcut.Arguments = "//NoLogo %script_path%" >> %script_path% echo shortcut.WorkingDirectory = "%USERPROFILE%\Desktop" >> %script_path% echo shortcut.WindowStyle = 1 >> %script_path% echo shortcut.IconLocation = "shell32.dll,-154" >> %script_path% echo shortcut.Save >> %script_path% move %shortcut_name% "%startup_folder%" ``` 这个批处理bat会在当前目录创建一个名为a.vbs的文件,并在桌面创建一个名为a.lnk的快捷方式。然后,它会将这个快捷方式移动到系统启动目录下,从而实现开机自启动a.vbs脚本。 希望这能够帮到您!如果您有其他问题,请随时问我。 ### 回答2: 批处理是一种用于Windows系统的脚本编程语言,可以通过批处理脚本实现自动化任务。下面是一个用于创建快捷方式和将其移动到系统启动目录的批处理bat脚本。 @echo off setlocal cd %userprofile%\Desktop REM 使用VBScript创建桌面快捷方式 echo Set oWS = WScript.CreateObject("WScript.Shell")>"Shortcut.vbs" echo sLinkFile = "%userprofile%\Desktop\Shortcut.lnk">>"Shortcut.vbs" echo Set oLink = oWS.CreateShortcut(sLinkFile)>>"Shortcut.vbs" echo oLink.TargetPath = "%cd%\a.vbs">>"Shortcut.vbs" echo oLink.Save>>"Shortcut.vbs" cscript "Shortcut.vbs" REM 移动快捷方式到系统启动目录 move "%userprofile%\Desktop\Shortcut.lnk" "%appdata%\Microsoft\Windows\Start Menu\Programs\Startup" REM 清理中间文件 del "Shortcut.vbs" endlocal 这段批处理脚本的功能是将当前目录下的a.vbs文件创建为一个名为Shortcut的快捷方式,并将它移动到系统启动目录,以实现a.vbs随Windows启动自动运行。 首先,使用cd命令将当前目录切换到用户桌面目录。然后,通过echo命令逐行输出VBScript代码到Shortcut.vbs文件,创建用于创建快捷方式的VBScript脚本。VBScript脚本中设置了快捷方式的目标路径为当前目录下的a.vbs文件。 接下来,使用cscript命令执行Shortcut.vbs脚本,即创建一个名为Shortcut.lnk的桌面快捷方式。 最后,使用move命令将Shortcut.lnk快捷方式移动到系统启动目录,启动目录的路径为%appdata%\Microsoft\Windows\Start Menu\Programs\Startup。 最后,使用del命令删除中间产生的Shortcut.vbs文件,以清理临时文件。 以上就是一个用于创建快捷方式移动到系统启动目录的批处理脚本。通过运行该脚本,可以实现将a.vbs创建快捷方式,并将其移动到系统启动目录,以实现a.vbs随Windows启动自动运行。 ### 回答3: 你好!下面是一个用批处理.bat脚本创建快捷方式到桌面并将其移动到系统启动目录的示例: @echo off setlocal set "shortcutName=MyShortcut" set "shortcutTarget=%~dp0a.vbs" set "shortcutPath=%userprofile%\Desktop" set "startupPath=%APPDATA%\Microsoft\Windows\Start Menu\Programs\Startup" REM 创建快捷方式到桌面 echo Set oWS = WScript.CreateObject("WScript.Shell") > %TEMP%\shortcut.vbs echo sLinkFile = oWS.ExpandEnvironmentStrings("%shortcutPath%\%shortcutName%.lnk") >> %TEMP%\shortcut.vbs echo Set oLink = oWS.CreateShortcut(sLinkFile) >> %TEMP%\shortcut.vbs echo oLink.TargetPath = oWS.ExpandEnvironmentStrings("%shortcutTarget%") >> %TEMP%\shortcut.vbs echo oLink.Save >> %TEMP%\shortcut.vbs cscript //nologo %TEMP%\shortcut.vbs del %TEMP%\shortcut.vbs REM 将快捷方式移动到系统启动目录 move "%shortcutPath%\%shortcutName%.lnk" "%startupPath%" endlocal exit 上述脚本使用VBScript创建了一个快捷方式并命名为"MyShortcut",将其目标路径设置为当前目录下的"a.vbs"文件。然后,脚本将该快捷方式移动到桌面以及系统启动目录。请确保将此批处理.bat文件放置在与"a.vbs"相同的目录中,并以管理员身份运行以访问系统启动目录。 希望对你有所帮助!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值