1 (изменено: Mambr, 2017-10-31 23:53:02)

Тема: AHK: Копирование разных субдиректорий в другую директорию

Добрый вечер всем!

Суть вопроса:
Есть директория D:\Test, а в ней субдиректории - test 1, test 2 и test 3

Задача:
Скопировать все субдиректории из директории D:\Test в диск F:\

Этот код работает:


TestDir := "D:\test"

Loop % TestDir "\*", 2
Listing := % Listing A_LoopFileName "`n"
Loop Parse, Listing, `n
	{
	;MsgBox % TestDir "\" A_LoopField
	FileCopyDir % TestDir "\" A_LoopField, F:\, 1
	}

А почему этот не работает:


TestDir := "D:\test"

Loop % TestDir "\*", 2
Listing := % Listing A_LoopFileLongPath "`n"
Loop Parse, Listing, `n
	{
	MsgBox % A_LoopField
	FileCopyDir % A_LoopField, F:\, 1
	}

Хотя MsgBox выдает нормальный path субдиректорий.

Что я делаю не так в последнем варианте???

Вариант FileCopyDir % TestDir "\", F:\, 1 не рассматривать.


Разобрался!

Надо вместо
A_LoopFileLongPath

использовать
A_LoopFileFullPath

Так все работает.

2 (изменено: Mambr, 2017-11-01 00:53:47)

Re: AHK: Копирование разных субдиректорий в другую директорию

В общем, если кому надо ...

Этот код копирует содержимое всех субдиректорий (файлы и папки) из D:\Test\test-1, D:\Test\test-2, D:\Test\test-3 и т.д. (могут быть с любым именем)
в одну любую директорию, здесь F:\test


SourceDir := "D:\test"
DestDir := "F:\test"

Loop % SourceDir "\*", 2
Loop Parse, A_LoopFileFullPath, `n
	{
	;MsgBox % A_LoopField
	FileCopyDir % A_LoopField, % DestDir, 1
	}

3

Re: AHK: Копирование разных субдиректорий в другую директорию

Копирование со слиянием папок и заменой файлов, аля explorer:

ComObjCreate("Shell.Application").NameSpace("D:\").CopyHere("C:\test", Yes2All:=0x10)