我有一个批处理文件,需要将我的EXE复制到桌面并从那里运行。
代码:
copy client.exe %USERPROFILE%\Desktop
%USERPROFILE%\Desktop\client.exe
似乎发生的事情是client.exe确实被复制到桌面并运行,但就好像它位于原始client.exe的目录中一样
答案 0 :(得分:1)
问题在于,就批处理而言,当前目录是执行批处理的任何地方。
如果您希望当前目录是桌面,则需要明确设置
copy client.exe %USERPROFILE%\Desktop
pushd "%USERPROFILE%\Desktop"
client.exe
popd
或
copy client.exe %USERPROFILE%\Desktop
cd "%USERPROFILE%\Desktop"
client.exe
第一个临时切换当前目录,因此它将恢复到client.exe
终止后运行时的状态;第二个永久切换到桌面。
答案 1 :(得分:0)
如果要启动应用程序并指定文件的保存位置(工作目录),请使用
CD /D "%USERPROFILE%\Desktop"
"full_path_to_app\client.exe"
或
START "" /D"%USERPROFILE%\Desktop" "full_path_to_app\client.exe"
复制.exe
文件似乎是一种不必要的行为。