Hi Frank, So observations: On Fri, Feb 3, 2012 at 10:44 PM, Frank Kleinburg <fklei...@gmail.com> wrote:
> I appreciate your suggestions.. Thanks for taking the time to reply.. > Obviously this problem is a real rear end kicker as there have not been > many replies.. Perhaps most are lucky not to have to work in winders > environments.. **** > > ** ** > > But I was looking for answers as to why this doesn’t work in Windows 2008 > but works in previous versions of Windows.. **** > > ** ** > > A couple of things first since you asked.. **** > > ** ** > > The double quotes are required since the scalar $Name can contain spaces > and the double quotes make sure the value is passed as one command line > argument.. **** > > ** ** > > The back ticks are a simple way to capture the output of the command to a > scalar as in $output = `cluster group “$Name”`; (less typing).. > I only asked the question to indicate that there is no need for the double qoute, since the scalar $Name get interpolated in double quote. It's like double work! $output = `cluster group $Name`; will also work! Moreover, I think, backtick is not really a good way to write maintainable code. Please check perldoc -q backtick > **** > > ** ** > > Now to the problem..**** > > ** ** > > My first thoughts were to provide the full path to the cluster command > (i.e. c:\\windows\\system32\\cluster.exe) but this also returned the same > results.. > If I may suggest, Try File::Basename / File::Spec. why hardcore your your file paths? > **** > > **** > > I did some research and found the problem to be related to the way the > 64bit “stuff” works in winders.. **** > > ** ** > > I found the following web link which defines the problem and the fix.. > good then!!![?] > **** > > ** ** > > > http://www.tipandtrick.net/2008/how-to-suppress-and-bypass-system32-file-system-redirect-to-syswow64-folder-with-sysnative/ > **** > > ** ** > > So my thoughts about providing the full path were correct, I just had to > use the fake path as shown below.. **** > > ** ** > > *`%windir%\\Sysnative\\cluster.exe group “$Name”`;* > > * * > > So now I get to add a block to lots of code to be moved to Windows 2008 to > check for windows version info and set the path accordingly.. lots of fun.. > **** > > ** ** > > Anyway thanks again for the reply and I sure hope what I found helps > someone in the future.. > God willing........ > **** > > Flk k**** > > ** ** > > *From:* timothy adigun [mailto:2teezp...@gmail.com] > *Sent:* Friday, February 03, 2012 2:35 PM > *To:* Frank Kleinburg > *Subject:* Re: local commands in Win2008R2**** > > ** ** > > Hi Frank, > > Try system("cluster group $Name"); why use backtick? > **** > > On Thu, Feb 2, 2012 at 6:02 PM, Frank Kleinburg <fklei...@gmail.com> > wrote:**** > > Folks, > > > > Forever I have used the following to run an external command on a Winders > box: > > > > `cluster group "$Name"` (where name is the name of the cluster group in > question)**** > > 1. Why use backtick? Try system("cluster group $Name"); > 2. Why put $Name in a double quote?**** > > > But today I had to run a script which works on previous versions of > Windows, > is failing on Windows 2008 R2.. > **** > > Debuging the command, I see the command is coming back "cluster" command > not > found.. OK so I tell myself, R2 doesn't have the correct path, and so I > added the fully qualified path, including adding the ".exe" at the end of > the local command name (i.e. `c:\\windows\\system32\\cluster.exe group > group > "$Name"`;).. Still same problem.. > > > > Any ideas why this is failing in Windows 2008 R2??**** > > > I don't use Windows 2008 R2, try the above and if that doesn't work > you might have to state the error message you are getting.**** > > > Flk k > > > > > **** > > > > > -- > Tim**** > -- Tim
<<330.png>>