我从c#代码启动.bat文件:
void ExecuteCommand(string command)
{
var processInfo = new ProcessStartInfo("cmd.exe", "/c " + command);
processInfo.CreateNoWindow = true;
processInfo.UseShellExecute = false;
processInfo.RedirectStandardError = true;
processInfo.RedirectStandardOutput = true;
var process = Process.Start(processInfo);
process.OutputDataReceived += (object sender, DataReceivedEventArgs e) =>
Console.WriteLine("output>>" + e.Data);
process.BeginOutputReadLine();
process.ErrorDataReceived += (object sender, DataReceivedEventArgs e) =>
Console.WriteLine("error>>" + e.Data);
process.BeginErrorReadLine();
process.WaitForExit();
Console.WriteLine("ExitCode: {0}", process.ExitCode);
process.Close();
}
Run Code Online (Sandbox Code Playgroud)
它开始,一切都被执行,但是:
set mydir = "C:\mydir"
xcopy /c /y "myFile.exe" %mydir%
Run Code Online (Sandbox Code Playgroud)
该文件未被复制
但是当我从资源管理器运行相同的批处理文件时,文件会被复制.有什么想法吗?
我必须从控制台读取一些文本,然后在该字符串中搜索"简单"文本.我有:
char Buffer[200];
cin >> Buffer; //read text form keybord
char str[] = Buffer;
char * pch;
pch = strstr (str,"simple");
strncpy (pch,"sample",6);
puts (str);
Run Code Online (Sandbox Code Playgroud)
如何转换Buffer[200]为str[]使程序正常工作.