将文件从1个目录移动到另一个目录
Moving files from 1 directory to another
我正在尝试在计算机中的所有目录中打印所有文件名称...我从@Mayur撰写的代码中获得了帮助我希望这可以为我的整个计算机运行...因为它应该覆盖我的整个计算机,所以我希望那条路径动态以涵盖所有驱动器....
我正在从代码中获得帮助...但是在这方面,我必须给一条路。我希望这可以为我的整个计算机运行...因为它应该覆盖我的整个计算机,所以我希望那条路径动态以涵盖所有驱动器....
#include <windows.h>
#include <TCHAR.h>
#include <stdio.h>
void Enum(TCHAR root[0xFF])
{
HANDLE hFind;
WIN32_FIND_DATA wfd;
TCHAR GeneralPath[0xFF];
TCHAR AgainFolder[0xFF];
TCHAR FileFullPath[0xFF];
_stprintf(GeneralPath, _T("%s\*.*"), root);
hFind = FindFirstFile(GeneralPath, &wfd);
if(INVALID_HANDLE_VALUE==hFind)
return;
do
{
if( wfd.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY ) //Checking Founded File Attribute is it File or Folder/Directory
{
if( !_tcscmp(wfd.cFileName, _T(".")) || !_tcscmp(wfd.cFileName, _T("..")) ) //if Founded directory is same(.) or parent(..) then ignore them
continue;
_stprintf(AgainFolder, _T("%s\%s"), root, wfd.cFileName);
Enum(AgainFolder); //Recursion because folder is inside another folder
}
else
{
_stprintf(FileFullPath, _T("%s\%s"), root, wfd.cFileName); // "Folder\fileName.extension"
_tprintf(_T("%sn"),FileFullPath);
}
}while(FindNextFile(hFind, &wfd));
CloseHandle(hFind);
hFind=INVALID_HANDLE_VALUE;
}
int main()
{
TCHAR Folder[0xFF]=_T("c:\windows");
Enum(Folder);
return 0;
}
我尝试使用用于循环的...
while(1)
{
string s="abcdefghijklmnopqrstuvwxyz";
for(int i=0;i<26;i++)
{
string t=s[i]+":\test";
TCHAR Folder[0xFF]=_T(t);
Enum(Folder);
Sleep(1000);
}
}
,但这给了我错误。错误是::错误:必须使用带括号的初始化器初始化数组 tchar文件夹[0xff] = _ t(t);我请您查看此
结果:仅针对给定路径打印预期:我试图在计算机中的所有目录中打印所有文件名
您的错误是_T
宏仅应该在 string和字符文字上使用。这不是将任何内容转换为TCHAR字符串的通用方法,因此_T(t)
t
是string
不起作用。
在上面的代码中尝试做您要做的事情的一种简单方法是此
string s = "abcdefghijklmnopqrstuvwxyz";
basic_string<TCHAR> folder(_T("X:\test"));
for (int i = 0; i < 26; ++i) {
folder[0] = s[i];
Enum(folder.c_str());
}
只需创建一个正确的形式的字符串,并在每次循环时替换驱动器字母。
相关文章:
- 如果需要转换,我可以在读取参数的同时将其移动到另一个参数吗?
- 将 std::array 移动到另一个 std::array
- 如何在不复制的情况下将一个向量移动到另一个向量中
- 为什么在 std::map 上移动无法将元素从一个映射移动到另一个映射
- 如何将所有指针从一个向量移动到另一个向量?
- 如何有效地将(一些)项目从一个std::map移动到另一个std::map
- 如何将"this"的生命周期移动到C++中的另一个对象中?
- 基于范围的 for 循环将对象移动到另一个容器中?
- 将列表的对象C++移动到另一个对象
- 如何将文件移动到Qt中的另一个现有目录
- C++将所有文件从一个目录移动到另一个目录
- 发送到另一个窗口的鼠标移动消息不执行任何操作
- 将对象从一个 std::d eque 移动到另一个的更好方法
- 如果我尝试将对话框从一个项目移动到另一个项目,我是否需要从 rc 文件中复制 DESIGNINFO、对话框信息和AFX_
- Qt 创建者在我将项目移动到另一个地方后仍然使用源项目
- 从一个堆栈移动到另一个堆
- 当设置对象等于另一个函数的返回值时,为什么要调用移动构造函数/分配
- 使用 C++98 将矢量的一部分移动(而不是复制)到另一个矢量
- 将过滤器中的所有.cpp和.h移动到另一个项目并更正其文件夹位置
- C 可以使用MOVE SEMATICS将数据从一个向量移动到另一个向量