0
以下是将A驱动器的内容传输到C:\ test \ disk1中的一些代码。该程序编译并运行良好。该程序创建一个名为“软盘驱动器(A)”的文件夹,内容包含在其中。是否有可能只从A驱动器复制文件而没有文件夹?SHFileOperation - 仅文件复制
#include <Windows.h>
#include <stdio.h>
int main(int argc, char ** argv)
{
const wchar_t *const sourceFile = L"A:\\\0";
const wchar_t *const outputFile = L"C:\\test\\disk1\0";
SHFILEOPSTRUCTW fileOperation;
memset(&fileOperation, 0, sizeof(SHFILEOPSTRUCTW));
fileOperation.wFunc = FO_COPY;
fileOperation.fFlags = FOF_SILENT | FOF_NOCONFIRMATION | FOF_NOCONFIRMMKDIR | FOF_NOERRORUI | FOF_FILESONLY;
fileOperation.pFrom = sourceFile;
fileOperation.pTo = outputFile;
int result = SHFileOperationW(&fileOperation);
if (result != 0)
{
printf("SHFileOperation Failure: Error%u\n", result);
return 1;
}
memset(&fileOperation, 0, sizeof(SHFILEOPSTRUCTW));
printf("Transfer complete\n");
}
干杯Betontalpfa。编译时出现此错误。 'C:\ C++ \ shfileop \ main.cpp | 16 |错误:期望数字常量之前的非限定id |'有什么建议么? –
FOF_FILESONLY 如果指定了通配符文件名(\ *。*),则仅对文件(不在文件夹上)执行操作。 – betontalpfa
是的,我想要从A驱动器传输所有文件。但它不会编译。你能否详细说明一下? –