批量复制并运行代理奇怪

时间:2014-11-14 22:55:49

标签: batch-file

我有一个批处理文件,需要将我的EXE复制到桌面并从那里运行。

代码:

copy client.exe %USERPROFILE%\Desktop
%USERPROFILE%\Desktop\client.exe 

似乎发生的事情是client.exe确实被复制到桌面并运行,但就好像它位于原始client.exe的目录中一样

2 个答案:

答案 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文件似乎是一种不必要的行为。