社区应用 社区服务 会员列表 统计排行 帮助 银行
  • 1168阅读
  • 3回复

[求助]文件夹内容替换

楼层直达
级别: 托儿所
发帖
2
铜币
50
威望
0
E积分
0
技术积分
0
比如一键 把A文件夹里面的所有内容  替换到B 文件夹里面的(C文件夹  D文件夹 E文件夹 的内容)  求代码
级别: 商业用户
发帖
1797
铜币
755
威望
0
E积分
0
技术积分
0
只看该作者 沙发  发表于: 2016-01-18
寻找文件,然后复制文件,有相关例程,很简单的,看易语言的帮助



.版本 2


.子程序 复制目录, , , 目录后边要有“\”结尾
.参数 目录1, 文本型
.参数 目录2, 文本型
.局部变量 文件名, 文本型


文件名 = 寻找文件 (目录1 + “*.*”, )
.判断循环首 (文件名 ≠ “”)
    复制文件 (目录1 + 文件名, 目录2 + 文件名)
    文件名 = 寻找文件 ( , )
.判断循环尾 ()



级别: 托儿所
发帖
2
铜币
50
威望
0
E积分
0
技术积分
0
只看该作者 板凳  发表于: 2016-01-19
回 1楼(zmlzj) 的帖子
替换指定的文件路径 都正常  但是 替换目标文件夹内的变量名称文件夹还是不行 能不能做个源码我看一下 不知道具体是哪里错了 辛苦了
发帖
1106
铜币
23040
威望
0
E积分
0
技术积分
0
只看该作者 地板  发表于: 2016-01-21
.版本 2
.支持库 spec

.子程序 创建目录, 文本型, 公开, 返回(目录路径)
.参数 目录路径, 文本型, , 支持多级目录 例:"d:\1\2\3\4\5\6" 如果没有盘符 则在当前盘符下的根目录下开始创建
.局部变量 对象, 对象
.局部变量 盘符, 文本型
.局部变量 当前目录, 文本型
.局部变量 每层目录名, 文本型, , "0"
.局部变量 i, 整数型
.局部变量 目录, 文本型

.如果真 (对象.创建 (“scripting.FileSystemObject”, ))
    盘符 = 对象.读文本属性 (“GetDriveName”, 目录路径) + “\”  ' 路径取盘符
    .判断循环首 (目录路径 ≠ “”)
        当前目录 = 对象.读文本属性 (“GetFileName”, 目录路径)  ' 取最后一个文件夹或文件名称
        目录路径 = 对象.读文本属性 (“GetParentFolderName”, 目录路径)  ' 取路径的父文件夹名称
        .如果真 (当前目录 ≠ “”)
            加入成员 (每层目录名, 当前目录)
        .如果真结束
        处理事件 ()
    .判断循环尾 ()
.如果真结束
.变量循环首 (取数组成员数 (每层目录名), 1, -1, i)
    目录 = 目录 + 每层目录名 + “\”
    .如果真 (对象.读文本属性 (“FolderExists”, 盘符 + 目录) = “0”)  ' FolderExists 文件夹存在
        对象.方法 (“CreateFolder”, 盘符 + 取文本中间 (目录, 1, 取文本长度 (目录) - 1))  ' CreateFolder 产生文件夹
    .如果真结束
    处理事件 ()
.变量循环尾 ()
返回 (盘符 + 取文本中间 (目录, 1, 取文本长度 (目录) - 1))

.子程序 目录是否存在, 逻辑型, 公开
.参数 目录路径, 文本型
.局部变量 对象, 对象
.局部变量 目录存在, 逻辑型

.如果真 (对象.创建 (“scripting.FileSystemObject”, ))
    .如果 (对象.读文本属性 (“FolderExists”, 目录路径) = “0”)  ' FolderExists 文件夹存在=-1 不存在=0
        目录存在 = 假
    .否则
        目录存在 = 真
    .如果结束

.如果真结束
返回 (目录存在)


.子程序 复制目录, 文本型, 公开, 返回空文本:成功复制 (注:支持多级目录自动创建)
.参数 原目录, 文本型, , 被复制的文件目录包括子文件夹 (注:不能为磁盘根. 如 c:\)
.参数 目标目录, 文本型, , 复制到的文件目录
.局部变量 对象, 对象

.如果真 (原目录 ≠ “”)
    目标目录 = 创建目录 (目标目录)
    .如果真 (对象.创建 (“scripting.FileSystemObject”, ) = 真)
        对象.方法 (“CopyFolder”, 原目录, 目标目录)
    .如果真结束

.如果真结束
返回 (对象.取错误 ())


.子程序 删除目录, 文本型, 公开, 删除指定目录.包括子目录和所有文件(返回错误信息)
.参数 待删除目录, 文本型
.局部变量 创建对象, 对象
.局部变量 对象方法, 对象

.如果真 (创建对象.创建 (“scripting.FileSystemObject”, ))
    对象方法 = 创建对象.对象型方法 (“GetFolder”, 待删除目录)
    对象方法.方法 (“Delete”, )
.如果真结束
返回 (创建对象.取错误 ())


.子程序 移修文件或目录, 文本型, 公开, 返回空文本:移动或更名成功 (注:支持多级目录自动创建)
.参数 原文件名, 文本型, , 被修改或被移动的文件名    例:把C:\windows\regedit.exe文件移动或更名
.参数 目标文件名, 文本型, , 修改后或移动到的文件名    移动(d:\regedit.exe) 更名(C:\windows\注册表文件.exe)
.局部变量 对象, 对象
.局部变量 文件夹路径, 文本型
.局部变量 文件路径, 文本型

文件夹路径 = 创建目录 (取文本左边 (目标文件名, 倒找文本 (目标文件名, “\”, , 假)))
文件路径 = 取文本右边 (目标文件名, 取文本长度 (目标文件名) - 倒找文本 (目标文件名, “\”, , 假))
.如果真 (对象.创建 (“scripting.FileSystemObject”, ) = 真)
    对象.方法 (“MoveFile”, 原文件名, 文件夹路径 + “\” + 文件路径)
.如果真结束
返回 (对象.取错误 ())

.子程序 创建快捷方式, 逻辑型, 公开
.参数 lnk名称, 文本型, , 必须带.lnk 如果觉得不方便可自行修改
.参数 工作目录, 文本型
.参数 指向目标, 文本型
.参数 图标文件, 文本型, 可空, 可空,为空时用目标的第一个图标
.参数 运行方式, 整数型, 可空, 1,常规方式,3,最大化,7,最小化
.参数 备注, 文本型, 可空
.参数 参数文本, 文本型, 可空
.参数 快捷键, 文本型, 可空, 如“Ctrl+Alt+Y”
.局部变量 对象, 对象

.如果真 (对象.创建 (“WshShell”, “wshom.ocx”))
    对象 = 对象.对象型方法 (“CreateShortcut”, lnk名称)
    .如果真 (对象.是否为空 ())
        返回 (假)
    .如果真结束
    .如果真 (对象.写属性 (“TargetPath”, 指向目标))
        对象.写属性 (“WorkingDirectory”, 工作目录)
        对象.写属性 (“IconLocation”, 选择 (是否为空 (图标文件), 指向目标 + “,0”, 图标文件))
        对象.写属性 (“WindowStyle”, 运行方式)
        对象.写属性 (“Description”, 备注)
        对象.写属性 (“Arguments”, 参数文本)
        对象.写属性 (“Hotkey”, 快捷键)
        对象 = 对象.对象型方法 (“Save”, )
        返回 (真)
    .如果真结束

.如果真结束
返回 (假)


.子程序 取目录尺寸, 长整数型, 公开, 返回值为字节数
.参数 文件夹, 文本型
.局部变量 创建对象, 对象
.局部变量 对象方法, 对象

创建对象.创建 (“Scripting.FileSystemObject”, )
对象方法 = 创建对象.对象型方法 (“GetFolder”, 文件夹)
返回 (对象方法.读数值属性 (“Size”, ))

.子程序 取文件尺寸, 长整数型, 公开, 返回一个文件的长度,单位是字节.如果该文件不存在,将返回 -1
.参数 文件名, 文本型, , 完整路径
.局部变量 创建对象, 对象
.局部变量 对象方法, 对象
.局部变量 对象属性, 变体型

.如果真 (创建对象.创建 (“scripting.FileSystemObject”, 文件名))
    对象方法 = 创建对象.对象型方法 (“GetFile”, 文件名)
    返回 (对象方法.读数值属性 (“Size”, ))
.如果真结束
返回 (0)

.子程序 取文件后缀名, , 公开
.参数 文件名, 文本型, , 完整路径
.局部变量 对象, 对象

.如果真 (对象.创建 (“scripting.FileSystemObject”, ) = 真)
    ' 调试输出 (对象.读文本属性 (“GetExtensionName”, 文件名))  ' 得到文件的文件类型(后缀),不含小数点’
    ' 调试输出 (对象.读文本属性 (“GetFileName”, 文件名))  ' '得到文件名称和后缀’
    ' 调试输出 (对象.读对象型属性 (“GetDrive”, 文件名).读文本属性 (“UseTheSpace”, ))  ' 返回驱动器对象的可用容量大小
    ' 调试输出 (对象.读对象型属性 (“GetDrive”, 文件名).读文本属性 (“FreeSpace”, ))  ' 返回驱动器对象的剩余空间大小
    ' 调试输出 (对象.读对象型属性 (“GetDrive”, 文件名).读文本属性 (“TotalSize”, ))  ' 返回驱动器对象的总空间容量大小
    ' 调试输出 (对象.读对象型属性 (“GetDrive”, 文件名).读文本属性 (“SerialNumber”, ))  ' 返回用于唯一标识磁盘卷标的十进制序列号
    ' 调试输出 (对象.读对象型属性 (“GetDrive”, 文件名).读文本属性 (“VolumeName”, ))  ' 返回指定驱动器的卷标名

    ' ______________________文件夹对象操作 _________________________________________
    ' 调试输出 (对象.对象型方法 (“GetFolder”, 文件名).读文本属性 (“Type”, ))  ' 返回文件夹类型信息 判断文件或文件夹类型
    ' 调试输出 (对象.对象型方法 (“GetFolder”, 文件名).读文本属性 (“Path”, ))  ' 返回文件夹的真实路径

    ' 调试输出 (对象.对象型方法 (“GetFolder”, 文件名).读文本属性 (“”, ))  ' 返回文件夹的真实路径

    ' 调试输出 (对象.对象型方法 (“GetFolder”, 文件名).读文本属性 (“ShortPath”, ))  ' 返回文件夹[8.3]格式的路径
    ' 调试输出 (对象.对象型方法 (“GetFolder”, 文件名).读文本属性 (“Drive”, ))  ' 返回文件夹所在驱动器
    ' 调试输出 (对象.对象型方法 (“GetFolder”, 文件名).对象型方法 (“Files”, ).读文本属性 (“count”, ))  ' 返回文件夹包含的所有文件对象集合
    ' 调试输出 (对象.对象型方法 (“GetFolder”, 文件名).对象型方法 (“SubFolders”, ).读文本属性 (“count”, ))  ' 返回文件夹包含的所有文件对象集合
    ' 调试输出 (对象.读对象型属性 (“GetFolder”, 文件名).读文本属性 (“DateCreated”, ))  ' 返回文件夹的最初创建时间
    ' 调试输出 (对象.读对象型属性 (“GetFolder”, 文件名).读文本属性 (“DateLastAccessed”, ))  ' 返回文件夹最后一次访问时间
    ' 调试输出 (对象.读对象型属性 (“GetFolder”, 文件名).读文本属性 (“DateLastModified”, ))  ' 返回文件夹最近修改的时间
    ' 对象.读对象型属性 (“GetFolder”, 文件名).方法 (“CreateTextFile”, “AAAA.TXT”, “true”)  ' "新建的文件名及后缀",是返回true否返回false  创建一个新文件
    ' 对象.读对象型属性 (“GetFolder”, 文件名).方法 (“Delete”, “true”)  ' 删除目录
    对象.读对象型属性 (“GetFolder”, 文件名).方法 (“CreateFolder”, )  ' 删除目录
    ' 对象.方法 (“CreateFolder”, 文件名, )'创建目录
    ' ________________________系统文件操作_________________________________________________

    ' 调试输出 (对象.读文本属性 (“GetFile”, 文件名))  ' 得到文件完整路径

    ' _____________________文件对象操作 _____________________________________________________



.如果真结束

' ’fso.OpenTextFile "c:\windows\desktop\要打开操作的文件名称.txt",1/2/8,true/false,0/-1/-2     'ForReading=1=只读方式,ForWriting=2=可写方式,ForAppending=8=追加方式.true=如果打开的文件不存在则创建该文件.TristateFalse=0=以系统默认方式打开,TristateTrue=-1=以Unicode格式打开文件,TristateUseDefaule=-2=以ASCLL格式打开文件(缺剩值)


.子程序 复制文件, 文本型, 公开, 返回空文本:成功复制
.参数 被复制的文件名, 文本型, , 被复制的文件文件名 (支持批量文件复制 例:e:\MP3\*.mp3)
.参数 复制到的文件名, 文本型, , 复制到的文件文件名 (支持自动创建目录 例:d:\我的音乐\我的MP3\)
.局部变量 对象, 对象
.局部变量 文件夹路径, 文本型
.局部变量 文件名, 文本型

文件夹路径 = 创建目录 (取文本左边 (复制到的文件名, 倒找文本 (复制到的文件名 + “\”, “\”, , 假)))
' 文件名 = 取文本右边 (复制到的文件名, 取文本长度 (复制到的文件名) - 倒找文本 (复制到的文件名, “\”, , 假))
.如果真 (对象.创建 (“scripting.FileSystemObject”, ) = 真)
    对象.方法 (“CopyFile”, 被复制的文件名, 文件夹路径 + “\”)
    调试输出 (被复制的文件名, 文件夹路径 + “\”, 倒找文本 (复制到的文件名 + “\”, “\”, , 假))
.如果真结束
返回 (对象.取错误 ())

.子程序 删除文件, 文本型, 公开, 删除指定目录下的所有文件或扩展名文件(返回错误信息)
.参数 目录, 文本型
.参数 文件名, 文本型, 可空, 删除指定文件名 支持通配符 (例:*新建* "*"所有字符 "?"1个字符) 默认为"*"
.参数 文件扩展名, 文本型, 可空, 删除指定文件的扩展名 支持通配符 (例:*Tx* "*"所有字符 "?"1个字符) 默认为"*"
.局部变量 对象, 对象

.如果真 (文件名 = “”)
    文件名 = “*”
.如果真结束
.如果真 (文件扩展名 = “”)
    文件扩展名 = “*”
.如果真结束
.如果真 (对象.创建 (“scripting.FileSystemObject”, ))
    对象.方法 (“DeleteFile”, 目录 + “\” + 文件名 + “.” + 文件扩展名, 1)
.如果真结束
返回 (对象.取错误 ())
快速回复

限60 字节
如果您提交过一次失败了,可以用”恢复数据”来恢复帖子内容
 
认证码:
上一个 下一个