现一共4个文件,但一次只能复制2个文件。不管删除数组那2行,其他的2行都能复制成功。所用的文件:附件上 ...
你所有要复制的文件名都是一样的 新建文本文档.txt
$a_File = @ScriptDir & '\134\1\2\3\新建文件夹62\新建文本文档.txt'
$a_File = @ScriptDir & '\134\1\2\新建文本文档.txt'
$a_File = @ScriptDir & '\134\3\新建文件夹62\新建文件夹963\txt\d\新建文件夹\eee\999\csr\egx\新建文本文档.txt'
$a_File = @ScriptDir & '\134\3\新建文件夹62\新建文件夹963\新建文本文档.txt'
这又怎么可能在同一个文件夹出现?4个文件都是一个名怎么可能 afan 发表于 2021-12-7 15:51
你所有要复制的文件名都是一样的 新建文本文档.txt
$a_File = @ScriptDir & '\134\1\2\3\新 ...
如文件夹下有相同的文件,那就在创建文件夹可以吗? dnvplj 发表于 2021-12-7 15:57
如文件夹下有相同的文件,那就在创建文件夹可以吗?
可以当然可以,关键是你这样做的目的是什么?新建的文件夹名又是什么?多次复制会不会再次陷入我首先提到的无限循环超出限制的问题?
如果你是做文件备份,那应该连源文件的目录结构一起在备份目录创建,这样就能避免同名的问题。
或者在文件名前插入目录结构(替换掉\)也行。
不知道你的用途,无法建议。 本帖最后由 dnvplj 于 2021-12-7 16:20 编辑
afan 发表于 2021-12-7 16:12
可以当然可以,关键是你这样做的目的是什么?新建的文件夹名又是什么?多次复制会不会再次陷入我首先提到 ...
再次感谢A大的回复,是做:文件备份,但只想把文件放到同一文件夹下,如有同名文件就创建新的文件夹,把同名文件分别放到不同的文件夹里。 dnvplj 发表于 2021-12-7 16:15
再次感谢A大的回复,是做:文件备份,但只想把文件放到同一文件夹下,如有同名文件就创建新的文件夹,把 ...
你要坚持你的想法我就不多说了~
Func _FileBakCopy($s_Dir, $a_File)
Local $sFN, $sBkDir = '', $sNLst = '|'
For $i = 1 To UBound($a_File) - 1
$sFN = StringRegExpReplace($a_File[$i], '^.+\\', '')
If FileExists($s_Dir & '\' & $sFN) Then
If $sBkDir = '' Or StringInStr($sNLst, '|' & $sFN & '|') Then $sBkDir = _CKCreateDir($s_Dir)
FileMove($s_Dir & '\' & $sFN, $sBkDir)
EndIf
$sNLst &= $sFN & '|'
FileCopy($a_File[$i], $s_Dir)
Next
EndFunc ;==>_FileBakCopy afan 发表于 2021-12-7 17:19
你要坚持你的想法我就不多说了~
非常感谢A大的再次回复,每次我发帖求助都是你不厌其烦的解答和解决我的问题。开始我把问题想的简单了,再次拜读了您2楼和18楼所述,确实是解决问题的最好的办法。
页:
1
[2]