Что нового

[Файловая система] Народ помогите мне нужно скопировать файлы на Флешку

  • Автор темы nikolay-nik
  • Дата начала
N

nikolay-nik

Гость
Код:
$var = DriveGetDrive( "all" )

If NOT @error Then
    For $i = 1 to $var[0]
	FileExists($var[$i]& "\NOD_UPD\update.ver")
    FileDelete($var[$i]& "\NOD_UPD\*.*")
    FileCopy("NOD_UPD\*.*",$var[$i]& "\NOD_UPD\*.*",1)
    Next
EndIf



у меня не получается скопировать на флешку но при этом буква не известна при создании дериктории он создаёт её на всех дисках что можно сделать ?
 

ynbIpb

Скриптер
Сообщения
398
Репутация
109
Re: [Массивы] Народ помогите мне нужно скопировать файлы на Флешку

Код:
$source = "Z:\Bases_NOD32" ;источник антивирусных баз
$AllDrives = DriveGetDrive("REMOVABLE")
For  $i = 1 to $AllDrives[0]
	If $AllDrives[$i] <> "a:" Then ; если это не флопик, то проверяем на нём наличие update.ver
	If FileExists ($AllDrives[$i]& "\Bases_NOD32\update.ver") Then
	DirRemove($AllDrives[$i]& "\Bases_NOD32" ,1); удалить папку с содержимым
	DirCopy($source, $AllDrives[$i]& "\Bases_NOD32", 1)
	MsgBox (0,"","Базы скопированы на диск: " & $AllDrives[$i])
    EndIf
    EndIf
Next

На будущее: не надо так раскидывать код по посту (лишние пробелы) и обрамляй тегом
Код:
 
Автор
N

nikolay-nik

Гость
Код:
$source = @DesktopDir &"\NOD_UPD\*.*" ;источник антивирусных баз
$AllDrives = DriveGetDrive("REMOVABLE")
For  $i = 1 to $AllDrives[0]
    If $AllDrives[$i] <> "a:" Then ; если это не флопик, то проверяем на нём наличие update.ver
    If Not @error Then
    FileExists ($AllDrives[$i]& "\NOD_UPD\update.ver")
    DirRemove($AllDrives[$i]& "\NOD_UPD" ,1); удалить папку с содержимым
    DirCreate($AllDrives[$i]& "\NOD_UPD")
    FileCopy($source, $AllDrives[$i]& "\NOD_UPD\*.*", 1)
    MsgBox (0,"","Базы скопированы на диск: " & $AllDrives[$i])
    EndIf
    EndIf
Next



спасибо !!!! решение при отсутствии папки
 

CreatoR

Must AutoIt!
Команда форума
Администратор
Сообщения
8 156
Репутация
2 329
nikolay-nik
Используй тег autoit при вставке кусков кода.
 

XM

Новичок
Сообщения
70
Репутация
8
как вариант:
Код:
$aDrives = DriveGetDrive ("REMOVABLE")
	$driveCount = UBound($aDrives)
If IsArray($aDrives) Then
   For $i=1 To $aDrives[0]
	   $label = DriveGetLabel($aDrives[$i])
	   $serialn = DriveGetSerial($aDrives[$i])
	   	If $label = "" Then ContinueLoop
		$letter = $aDrives[$i]
   Next
 

kaster

Мой Аватар, он лучший самый
Команда форума
Глобальный модератор
Сообщения
4 020
Репутация
622
Предупреждение
vendor
Прекращаем некропостинг
 
Верх