- Сообщения
- 3,570
- Репутация
- 632
Честно говоря так и не понял как назвать тему.
скрипт для копирования выбранной папки
в примере указаны пути копирования. для одновременного копирования создаются файлы с функциями AutoIT. по сути должны они быть созданы в папке Temp со своим уникальным именем, которое содержит имя пути без слэша. в папке Temp появляются три файла . имеют имена по имени диска ( у меня в компе три винта). но должно быть четыре файла..по коду видно что четыре пути...и в файлах пусто..до этого были эксперименты, создавались временные файлы. в них можно было прочитать команды..а в этом случае пустые файлы и к тому же их не четыре а три..
объясните - почему так?
система Win 7
скрипт работает. папка копируется в указанные места.
прошу прощения за возможный каламбур в словах, но, как говорится, что вижу то и пишу.
Добавлено:
в принципе я нашел причину. все дело в моем плохом знании работы со строками.
вот адекватный рабочий вариант
теперь все как положено - временные файлы в папке Temp с функциями(командами)внутри.
но смешно то, что и первый и второй вариант - рабочие..
вобщем я так и не понял почему вариант 1 работает..куда деваются файлы ...
скрипт для копирования выбранной папки
Код:
#include <file.au3>
$open = FileSelectFolder('','')
Dim $szDrive, $szDir, $szFName, $szExt
$TestPath = _PathSplit($open, $szDrive, $szDir, $szFName, $szExt)
Dim $array[4]
$array[0] = 'C:\Users\Пользователь\Desktop\1\'
$array[1] = 'F:\3\'
$array[2] = 'E:\2\'
$array[3] = 'C:\Users\Пользователь\4\'
For $i =0 To UBound($Array)-1
$name = StringRegExpReplace($array[$i],'\\','')
$write = FileOpen(@TempDir & '\' & $name & '.tmp' ,2)
FileWrite($write,'DirCopy('& "'"& $open & "'"& ',' & "'" & $array[$i] & $TestPath[3] & "'" &",1)")
FileClose($write)
Run(@AutoItExe & ' /AutoIt3ExecuteScript ' & @TempDir & '\' & $name & '.tmp')
Next
в примере указаны пути копирования. для одновременного копирования создаются файлы с функциями AutoIT. по сути должны они быть созданы в папке Temp со своим уникальным именем, которое содержит имя пути без слэша. в папке Temp появляются три файла . имеют имена по имени диска ( у меня в компе три винта). но должно быть четыре файла..по коду видно что четыре пути...и в файлах пусто..до этого были эксперименты, создавались временные файлы. в них можно было прочитать команды..а в этом случае пустые файлы и к тому же их не четыре а три..
объясните - почему так?
система Win 7
скрипт работает. папка копируется в указанные места.
прошу прощения за возможный каламбур в словах, но, как говорится, что вижу то и пишу.

Добавлено:
Сообщение автоматически объединено:
в принципе я нашел причину. все дело в моем плохом знании работы со строками.
вот адекватный рабочий вариант
Код:
#include <file.au3>
$open = FileSelectFolder('','')
Dim $szDrive, $szDir, $szFName, $szExt
$TestPath = _PathSplit($open, $szDrive, $szDir, $szFName, $szExt)
Dim $array[4]
$array[0] = 'C:\Users\Маруся\Desktop\1\'
$array[1] = 'F:\3\'
$array[2] = 'E:\2\'
$array[3] = 'C:\Users\Маруся\4\'
For $i =0 To UBound($Array)-1
$name = StringRegExpReplace($array[$i],'[\:\\]','')
MsgBox(0,'',$name)
$write = FileOpen(@TempDir & '\' & $name & '.tmp' ,2)
FileWrite($write,'DirCopy('& "'"& $open & "'"& ',' & "'" & $array[$i] & $TestPath[3] & "'" &",1)")
FileClose($write)
Run(@AutoItExe & ' /AutoIt3ExecuteScript ' & @TempDir & '\' & $name & '.tmp')
Next
теперь все как положено - временные файлы в папке Temp с функциями(командами)внутри.
но смешно то, что и первый и второй вариант - рабочие..
вобщем я так и не понял почему вариант 1 работает..куда деваются файлы ...