创建目录(单个目录和多级子目录)方法

1. CreateDirectory 创建文件夹(只能创建一级目录) C\C++

函数原型:

CreateDirectory(  LPCTSTR lpPathName,   LPSECURITY_ATTRIBUTES lpSecurityAttributes );

简介:

CreateDirectory 是Win32API函数,用于创建文件夹。
     参数 lpPathName 表示路径
    参数 lpSecurityAttributes 表示安全属性

============================================================================

 1 //例子(程序段):
 2
 3         //设置属性
 4         SECURITY_ATTRIBUTES attribute;
 5         attribute.nLength = sizeof(attribute);
 6         attribute.lpSecurityDescriptor = NULL;
 7         attribute.bInheritHandle = FALSE;
 8         //创建
 9         if(CreateDirectoryA(“d:\\yanlei”,&attribute) == 0)
10             AfxMessageBox("false");

 2. SHCreateDirectoryEx 创建多级目录

1.介绍
SHCreateDirectoryEx是window flatform下建立文件夹的函数,他的功能比CreateDirectory(Ex)大。如果创建文件夹目录有的中间目录不存在,SHCreateDirectoryEx可以建立,而CreateDirectory(Ex)则做不到这一点。
2.使用方法
要想使用SHCreateDirectoryEx,必须先安装windows2000 floatform SDK,或者从已经安装的些开发包的系统中,把需要的文件考过来,这样比较麻烦,所以还要去微软的网站上下载一个开发包安装为好。些函数最低的系统要求为windows2000和window Me.

假设的Flatform SDK安装在C:\PROGRAM FILES\MICROSOFT PLATFORM SDK\目录下
在VC6中编译程序时(其他的编译工具遇到情况,用类似的方法解决)
如果出现这种错误:
error C2065: \\‘SHCreateDirectoryEx\\‘ : undeclared identifier
则打开工具栏Project->Setting.s..
出现配置窗口
选择C/C++
Category选择Preprocessor
在Additional include directories
添加C:\PROGRAM FILES\MICROSOFT PLATFORM SDK\INCLUDE

设置完成后
在程序中添加引入库
#pragma comment(lib, "C:\\Program Files\\Microsoft Platform SDK\\Lib\\shell32.lib")
这样应该可以成功完成编译了。
3.函数使用
int SHCreateDirectoryEx(         
    HWND hwnd,
    LPCTSTR pszPath,
    SECURITY_ATTRIBUTES *psa
);
hwnd是窗口句柄,可以为NULL.
psa是安全属性设置项,可以为NULL.
pszPath要注意,这个路径必须是绝对路径. 比如c:\test, d:\hello, 不能写成test,也不能写成.\test这样的相对路径。

创建目录(单个目录和多级子目录)方法

时间: 2024-07-29 11:50:23

创建目录(单个目录和多级子目录)方法的相关文章

CodeIgniter 让控制器可以支持多级子目录的 Router 类库

MY_Router.php 放到 system/application/libraries 目录下,就可以让 CI 的控制器支持多级子目录了.这样,你就可以在 system/application/controllers 目录下放置更多级别的目录,访问的方式就是 index.php/目录1/目录2/目录3/控制器/方法/参数请注意,你不需要 load,因为这个类是系统自动 load 的. MY_Router.php 代码 <?php if ( ! defined('BASEPATH')) exi

C#实现多级子目录Zip压缩解压实例

? ? 参考 https://blog.csdn.net/lki_suidongdong/article/details/20942977 重点: 实现多级子目录的压缩,类似winrar,可以选择是否排除基准目录 ? ? ? ? ? ? ? ? ? ? 测试代码 ? ? public?void?ZipDirectoryTest()??? {??? string?path?=?System.IO.Path.Combine(System.IO.Path.GetTempPath(),?DateTime

windows下怎样使用md命令一次建立多级子目录

在Windows系统中一次只能够创建一个子目录,在命令提示符窗口则可以一次性创建多个子目录,例如如果想在f盘创建多级子目录,则md 23\13\65\45,后面的数字随便都可以.如果想一次性删除多级目录,则用rd. 1. 点击开始,运行,在运行窗口中输入“cmd”. 2. 打开cmd窗口之后,用md创建一个多级子目录,例如,在f盘下创建一个11\22\33\44的多级子目录. 3. 回车之后,虽然没有提示,但是确实已经在f盘下创建了一个11\22\33\44的多级文件. 4. 如果想删除这个多级

JAVA输出指定目录下的子目录和子文件

题目:给定一个目录,要求输出这个目录下面的子目录和子文件 逻辑: 先判断给定的是不是一个合法的目录,如果不是,则提示给定错误 如果是目录,那么使用File.listFile()获得这个目录下文件名的数组 循环遍历输出这个数组元素 输出名称之后,接着判断这个元素是文件还是目录 如果是目录,继续调用本方法来输出子目录 代码如下: /** * 输出指定目录下的所有子目录和子文件 * * @author DXY * */ public class HelloFile { public static vo

git clone 指定的单个目录或文件夹

git clone 指定的单个目录或文件夹 针对自己的项目 方法一 基于sparse clone变通方法 创建一个空仓库 拉取远程仓库信息 开启 sparse clone 设置过滤 更新仓库 创建空仓库 mkdir devops cd devops git init # 初始化 拉取远程仓库信息 git remote add -f origin http://your/git/repo.git # 拉取远程仓库信息 开启 sparse clone git config core.sparsech

Mac 中显示资源库(Library)文件夹目录的几种方法

Mac 中显示资源库(Library)文件夹目录的几种方法 Mac中Library目录在10.6.7系统之后默认隐藏的,要想找到此文件夹有如下几种方法: 1. 用命令可以使其显示: 在终端中执行命令: chflags nohidden ~/Library 可显示资源库文件夹 如想隐藏,可以在终端中执行命令: chflags hidden ~/Library 隐藏 2. 在Finder菜单中的偏好设置中设置 在Finder菜单中的偏好设置中选择边栏,勾选上设备中的硬盘. 再打开Finder,Fin

Python扫描指定目录下(包括子目录)的文件

扫描指定目录下的文件,或者匹配指定后缀和前缀的函数. 如果要扫描指定目录下的文件,包括子目录,调用scan_files("/export/home/test/") 如果要扫描指定目录下的特定后缀的文件(比如jar包),包括子目录,调用scan_files("/export/home/test/", postfix=".jar") 如果要扫描指定目录下的特定前缀的文件(比如test_xxx.py),包括子目录,调用scan_files("

shell编程: 获得目录下(包括子目录)所有文件名,路径和文件大小

转自:http://blog.chinaunix.net/uid-26000296-id-3575475.html 1 function ergodic(){ 2 for file in `ls $1` 3 do 4 if [ -d $1"/"$file ] 5 then 6 ergodic $1"/"$file 7 else 8 local path=$1"/"$file 9 local name=$file 10 local size=`du

使用rsync+inotify的方式监控一个目录,当被监控目录下的子目录被移走后无法同步的问题

最近在测试rsync+inotify的方式同步PHP代码到一个集群下的WEB服务器.如被监控的目录是/var/www/html下有三个目录 dream_android  dream_ios  game_router 当我把dream_android这个目录更名为android后,发现其他服务器上没有出现android并且原有的dream_android并没有被删除.测试游戏时发现大量的404错误,最大的问题就是代码同步出现了问题. 检查同步脚本中inotify和rsync相关的信息 /usr/b