• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 1170
  • Last Modified:

Using a variable in a ProcessStartInfo argument

I have two variables that get the path of the console application

string path = System.Reflection.Assembly.GetExecutingAssembly().Location;
 var directory = System.Io.Path.GetDirectoryName(path);

I now have the path that I want in the directory variable.  for example "c:\somedirectory"

I am using ProcessStartInfo to run a sqlcmd query and I want to pass the value of directory to the -o (output file) switch.  I don't want to hardcode this as this app is going to run on multiple boxes.  



ProcessStartInfo ProcessProperties = new ProcessStartInfo("sqlcmd.exe");
ProcessProperties.Arguments = @"-S localhost -d master -o ??????????\output.txt -Q ""SET NOCOUNT ON;DROP database test;Declare @varoutput varchar(30);SELECT @varoutput = [name] FROM sys.databases where [name] = 'test';SELECT Case when @varoutput is Null then '0' else @varoutput end;""";


Any help is appreciated.
0
sherbug1015
Asked:
sherbug1015
1 Solution
 
käµfm³d 👽Commented:
You can use string.Format for this:

ProcessProperties.Arguments = string.Format(@"-S localhost -d master -o ""{0}"" \output.txt -Q ""SET NOCOUNT ON;DROP database test;Declare @varoutput varchar(30);SELECT @varoutput = [name] FROM sys.databases where [name] = 'test';SELECT Case when @varoutput is Null then '0' else @varoutput end;""", path);

Open in new window

0
 
sherbug1015Author Commented:
Thank you.
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

Join & Write a Comment

Featured Post

Free Tool: Subnet Calculator

The subnet calculator helps you design networks by taking an IP address and network mask and returning information such as network, broadcast address, and host range.

One of a set of tools we're offering as a way of saying thank you for being a part of the community.

Tackle projects and never again get stuck behind a technical roadblock.
Join Now