帮忙制作一个bat:自动复制一个exe文件覆盖到指定文件夹,并把覆盖后的exe创建桌面快捷方式。
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了帮忙制作一个bat:自动复制一个exe文件覆盖到指定文件夹,并把覆盖后的exe创建桌面快捷方式。相关的知识,希望对你有一定的参考价值。
帮忙制作一个bat:自动复制一个exe文件覆盖到指定文件夹,并把覆盖后的exe创建桌面快捷方式。要求把桌面或D盘或.......的“DeF.exe”文件复制并覆盖到C:\Program Files(x86)\ABC\DeF.exe,并把覆盖后的“DeFexe”创建桌面快捷方式。
如果Program Files(x86)文件夹不存在,则要求复制到C:\Program Files\ABC\DeF.exe,并创建桌面快捷方式。
如果Program Files(x86)文件夹存在,就不能复制到Program Files文件夹中。
说明:要求创建的bat文件兼容winXP、7、8、10。这个bat文件和DeF.exe在同一文件夹内
%1 mshta vbscript:CreateObject("Shell.Application").ShellExecute("cmd.exe","/c %~s0 ::","","runas",1)(window.close)&&exit
cd /d %~sdp0
:::::::你可以更改以下相关值:::::::::
set App=DeF.exe
set App_Name=程序快捷方式名称
set App_Dir=ABC
:::::::你可以更改以上相关值:::::::::
set "Target=%ProgramFiles(x86)%"
if /i "%PROCESSOR_IDENTIFIER:~0,3%"=="x86" set "Target=%ProgramFiles%"
xcopy /y "%App%" "%Target%\\%App_Dir%\\" >nul
(echo Set WshShell = WScript.CreateObject("WScript.Shell"^)
echo strDesktop = WshShell.SpecialFolders("Desktop"^)
echo set oShellLink = WshShell.CreateShortcut(strDesktop ^& "\\%App_Name%.lnk"^)
echo oShellLink.IconLocation = "%Target%,0"
echo oShellLink.TargetPath = "%Target%\\%App_Dir%\\%App%"
echo oShellLink.WorkingDirectory = "%Target%\\%App_Dir%"
echo oShellLink.WindowStyle = 1
echo oShellLink.Save)>makelnk.vbs
makelnk.vbs
del /f /q makelnk.vbs
exit追问
非常感谢你的帮忙,使用正常,但快捷方式没显示LOGO,这个可以解决吗?
这是因为我不知道软件真实的图标地址,所以使用了默认的参数,具体你可以更改
echo oShellLink.IconLocation = "%Target%,0"
这行里面的数字0,从1往上推,一个一个试试看,或者你通过exe文件给我,我帮你分析出图标编号。
或者你也可以单独制作一个ico图标,然后定义到刚刚那个代码中。
试过了把数字“0”改至9,都是不行,看来要麻烦你帮处理一下了。百度网盘:http://pan.baidu.com/s/1bpLqzsr
还有一个问题:如图:
已修改,请使用网页端访问该问题,下载附件。
if exist "c:\Program Files(x86)\ABC\" ( copy A.exe "c:\Program Files(x86)\ABC\" && echo [InternetShortcut] >>a.url
echo URL=c:\Program Files(x86)\ABC\ >>a.url
echo IconIndex=29 >>a.url
echo IconFile=C:\windows\system32\shell32.dll >>a.url ) else (copy A.exe "c:\Program Files\ABC\" && echo [InternetShortcut] >>a.url
echo URL=c:\Program Files\ABC\ >>a.url
echo IconIndex=29 >>a.url
echo IconFile=C:\windows\system32\shell32.dll >>a.url)
pause
使用Bat自动打包并通过FTP发送到备份服务器——实战测试
这个bat文件要求本地安装有winrar解压软件,位置是:C:Program FilesWinRARWinRAR.exe
如果执行报错,请检查你复制我的代码是否有问题,有些复制粘贴进去后因为一些字符原因更改,粘贴后请检查是否和复制的一致。
rem 定时备份文件并FTP上传至备份服务器 rem 要备份的文件夹 set bak_webFile=D:Backup ###目录包括一个斜杠都不能少 rem 临时文件夹 set bak_tmpFile=C:~UpTemprem 日志文件夹 set bak_logPath=C:~bak_logrem 生成的rar 文件名 set bak_bakFile=YYYYMMDD rem 当前日期(格式YYYYMMDD) set bak_date=%date:~0,4%%date:~5,2%%date:~8,2% rem ftp信息 set bak_ftpServer=192.168.0.86 ##ftp的服务器ip地址 set bak_ftpUserName=idcicp ##ftp的用户 set bak_ftpUserPass=idcicp ###ftp的用户密码 set bak_timeStart=%time% md %bak_tmpFile% md %bak_logPath% echo -------- 开始压缩 [%bak_timeStart%] >%bak_logPath%log-%bak_date%.txt "C:Program FilesWinRARWinRAR.exe" a -ag+%bak_bakFile% %bak_tmpFile% %bak_webFile% echo -------- 压缩完成,开始上传 [%time%/%bak_timeStart%] >>%bak_logPath%log-%bak_date%.txt rem 生成ftp命令文件 echo open %bak_ftpServer% >ftp.up echo %bak_ftpUserName%>>ftp.up echo %bak_ftpUserPass%>>ftp.up echo bin >>ftp.up echo mkdir %bak_date% >>ftp.up echo cd %bak_date% >>ftp.up echo mput %bak_tmpFile%* >>ftp.up echo bye >>ftp.up FTP -s:ftp.up -i >>%bak_logPath%log-%bak_date%.txt del ftp.up /q del %bak_tmpFile%* /q ###删除临时压缩文件,避免磁盘空间占用 echo -------- 上传完成 [%time%/%bak_timeStart%] >>%bak_logPath%log-%bak_date%.txt
以上是关于帮忙制作一个bat:自动复制一个exe文件覆盖到指定文件夹,并把覆盖后的exe创建桌面快捷方式。的主要内容,如果未能解决你的问题,请参考以下文章