Что нового

BAT2AutoIt, копирование файлов на диски

Anton

Твори! Пусть завистники твои захлебываются пылью!
Сообщения
69
Репутация
3
У меня такой вопрос: В бат файле я писал программку с использованием цикла
for %%d in (C D E) do (
md %%d:\userbar
copy /y "userbar\*" "%%d:\userbar\*"
if .......
)

ну короче дисков много и команд тоже, но вся проблема с циклом можно ли реализовать такое на AutoIt 3
 

snoitaleR

AutoIT Гуру
Сообщения
855
Репутация
223
Re: Цыклы

Anton
Функция DriveGetDrive() возвращает массив дисков в виде строк типа:
С:
Нулевой элемент массива содержит количество дисков...
Цикл возможен...


Добавлено:
Сообщение автоматически объединено:

В качестве параметра к данной функции можно указать:
"ALL"
"CDROM"
"REMOVABLE"
"FIXED"
"NETWORK"
"RAMDISK"
"UNKNOWN"
То есть, можно все диски добавить в массив, а можно лишь диски определенного типа...
 
Автор
A

Anton

Твори! Пусть завистники твои захлебываются пылью!
Сообщения
69
Репутация
3
Re: Цыклы

Спасибо, вопрос почти решен :smile:
Дело в том что мне не нужны все диски а только C, D, E, G, H, U и Z
H - флешка
E, G - Дисководы
остальные жесткий диск
 

snoitaleR

AutoIT Гуру
Сообщения
855
Репутация
223
Re: Цыклы

Anton
Если дисководы не изменяются по количеству и не смещаются по буквам, то можно создать свой собственный массив, состоящий из строк типа:
C:
а потом работать с ним также как и с массивом, созданным функцией DriveGetDrive()...
Но в этом случае ответственность за ошибки из-за смещения дисков или их исчезновения несет сам скриптер... :smile:
 

kaster

Мой Аватар, он лучший самый
Команда форума
Глобальный модератор
Сообщения
4,020
Репутация
626
Re: Цыклы

OffTopic:
Anton, если не сложно, переименуй плз тему, "Цыклы" уж больно глаза режет, да и не по правилам - малоинформативен. Например - BAT2AutoIt, копирование файлов на диски
 

CreatoR

Must AutoIt!
Команда форума
Администратор
Сообщения
8,671
Репутация
2,481
Kaster [?]
если не сложно, переименуй плз тему
Это кстати от модераторов должно было поступить ;)
В связи с этим загляни в ПМ как будет возможность.
 
Автор
A

Anton

Твори! Пусть завистники твои захлебываются пылью!
Сообщения
69
Репутация
3
Проблема решена ;D, вот как у меня вышло
Код:
dim $Array[7]
$Array[0] = "C"
$Array[1] = "D"
$Array[2] = "E"
$Array[3] = "G"
$Array[4] = "H"
$Array[5] = "U"
$Array[6] = "Z"

$i = 0
Do
	MsgBox(0,"",$Array[$i])
	$i = $i+1
Until $i = 7

Что бы я делал без вашего форума
 

kaster

Мой Аватар, он лучший самый
Команда форума
Глобальный модератор
Сообщения
4,020
Репутация
626
Хм, а зачем
Код:
Do
...
Until

когда изначально было в For?
Код:
Local $a[7] = [ _
'C', _
'D', _
'E', _
'G', _
'H', _
'U', _
'Z' _
]
For $i in $a
   MsgBox(0, '', $i)
Next
 
Автор
A

Anton

Твори! Пусть завистники твои захлебываются пылью!
Сообщения
69
Репутация
3
Спасибо всем кто помог :smile:
 
Верх