Sign in to follow this  
Followers 0

Unable to execute .cmd file

5 posts in this topic

Posted (edited)

Hi i am unable to execute the file restoredesktop.cmd, here is the sentence

$FileRestore = @DesktopDir & "RestoreDesktop.cmd"
RunWait (@ComSpec & ' /c "' & $FileRestore & '"', @DesktopDir, @SW_HIDE)

Thanks

Edited by Delai

Share this post


Link to post
Share on other sites



Posted (edited)

Change the /c to /k and see what is in the console when you try to run this.

EDIT: Also, remove the @SW_HIDE from the end of the run command or that won't work for you.

Edited by BrewManNH

Share this post


Link to post
Share on other sites

Posted

For it works properly. Tested on Win7 x64 and WinXP on a vm.

Br,

UEZ

Share this post


Link to post
Share on other sites

Posted

i have found the problem, my file restoredesktop.cmd is the following:

@echo off
IF EXIST %SystemRoot%SysWOW64 "%ProgramFiles%DesktopCmdDesktopcmd64.exe" Restore /n "Layout 1366 x 768" /Y
IF NOT EXIST %SystemRoot%SysWOW64 "%ProgramFiles%DesktopCmdDesktopcmd.exe" Restore /n "Layout 1366 x 768" /Y
EXIT

When i convert my autoit script to exe, it understand the path "%ProgramFiles%DesktopCmdDesktopcmd64.exe" as "C:Program Files (x86)DesktopCmdDesktopcmd64.exe" and then it tells it has not found the specified path

But

When i convert my autoit script to exe checking in the program Aut2exe x64 , it understand the path well "%ProgramFiles%DesktopCmdDesktopcmd64.exe" as "C:Program FilesDesktopCmdDesktopcmd64.exe" and it has worked.

I don´t understand why because when i run the .cmd file separately, it works perfectly, anyone please can explain me

Thanks

Share this post


Link to post
Share on other sites

Posted

On an x64 system, if the exe file is a 64Bit exe, it will translate the %programfiles% to the location where 64 bit exes are supposed to go, "C:Program Files". If the exe is compiled as a 32 bit exe, it translates that to "C:Program Files (x86)", because that is where 32 bit exes are supposed to go.

You'd be much better off just running the program directly from the autoit script rather than running the batch file from the script, you have much more control over how it will run.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now
Sign in to follow this  
Followers 0