我想将文件复制到C中的本地网络 我搜索但我找不到C的版本
int _tmain(int argc, _TCHAR* argv[])
{
STARTUPINFO si;
PROCESS_INFORMATION pi;
ZeroMemory( &si, sizeof(si) );
si.cb = sizeof(si);
ZeroMemory( &pi, sizeof(pi) );
if (!CreateProcess( L"C:\\Windows\\System32\\cmd.exe", L"C:\\Windows\\System32\\cmd.exe copy a.txt \\share\\4vlad\\b.txt", NULL, NULL, FALSE, CREATE_NEW_CONSOLE, NULL, NULL, &si, &pi) )
{
printf("Error %d",GetLastError());
}
_getch();
return 0;
}
但是这段代码不起作用。
有人能说我这个代码有什么问题吗?
谢谢!
答案 0 :(得分:0)
您的目标路径中有不正确的转义序列。大多数网络共享将像 \\ share \ project \ foo \ data 一样被访问,但在您的C \
版本中是一个转义序列。要获得角色\
,您需要两个\\
标记。
所以:
\\
变为\
\\\\
变为\\
因此:
int _tmain(int argc, _TCHAR* argv[])
{
STARTUPINFO si;
PROCESS_INFORMATION pi;
ZeroMemory( &si, sizeof(si) );
si.cb = sizeof(si);
ZeroMemory( &pi, sizeof(pi) );
if (!CreateProcess( L"C:\\Windows\\System32\\cmd.exe",
L"C:\\Windows\\System32\\cmd.exe copy a.txt \\\\share\\4vlad\\b.txt",
NULL, NULL, FALSE, CREATE_NEW_CONSOLE, NULL, NULL, &si, &pi) )
{
printf("Error %d",GetLastError());
}
_getch();
return 0;
}