<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<title type="html"><![CDATA[Серый форум &mdash; VBScript: Копирование файла с неизвестной буквой диска]]></title>
	<link rel="self" href="https://forum.script-coding.com/extern.php?action=feed&amp;tid=7495&amp;type=atom" />
	<updated>2012-09-03T11:21:40Z</updated>
	<generator>PunBB</generator>
	<id>https://forum.script-coding.com/viewtopic.php?id=7495</id>
		<entry>
			<title type="html"><![CDATA[Re: VBScript: Копирование файла с неизвестной буквой диска]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=63470#p63470" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>Serge Yolkin пишет:</cite><blockquote><p>3. Метка тома == серийный номер ?</p></blockquote></div><p>на мой взгляд не совсем удобно, метка тома отображается в проводнике и её без проблем может изменить простой юзер.</p>]]></content>
			<author>
				<name><![CDATA[Fedor]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=28233</uri>
			</author>
			<updated>2012-09-03T11:21:40Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=63470#p63470</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: VBScript: Копирование файла с неизвестной буквой диска]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=63430#p63430" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>smaharbA пишет:</cite><blockquote><p>%~dp0 ни как ?</p></blockquote></div><p>1) Надо на vbs а не на bat.<br />2) Писалось выше что это не подходит, но я уже все сделал, спасибо всем что отписались</p>]]></content>
			<author>
				<name><![CDATA[SNR93]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=26666</uri>
			</author>
			<updated>2012-09-02T11:43:50Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=63430#p63430</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: VBScript: Копирование файла с неизвестной буквой диска]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=63429#p63429" />
			<content type="html"><![CDATA[<p>%~dp0 ни как ?</p>]]></content>
			<author>
				<name><![CDATA[smaharbA]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=2911</uri>
			</author>
			<updated>2012-09-02T11:41:13Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=63429#p63429</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: VBScript: Копирование файла с неизвестной буквой диска]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=63394#p63394" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>Fedor пишет:</cite><blockquote><p>SNR93&nbsp; хотелось бы получить некоторые уточнения:<br /> 1. Компьютеры связаны локальной сетью? Если да, то можно не морочиться с флешкой, а&nbsp; просто по сети собрать все файлы на комп админа (достаточно cmd).<br /> 2. Что будет делать Ваш скрипт если в компьютер вставят, например, 2 флешки? <br /> 3. В Вашем скрипте нет механизма определения &quot;нужной&quot; флешки.</p><p>&nbsp; Чисто академически: используя WMI можно определить не только букву на которую подключилась флешка, но и параметры самой флешки, например, серийный номер оной (готовый способ определить &quot;нужную&quot; флешку). Опять же есть механизм сохранить процедуру идентификации &quot;нужной&quot; флешки и сам скрипт копирования файла в реестре системы что безопаснее хранения скрипта на диске компа, мало того нет необходимости в бесконечном цикле, поскольку система сама стартанет скрипт по событию подключения флешки (это не ауторан с флешки, а описание админом действий самой системы по её подключению). Можно реализовать запрет на использование левых флешек на компах конторы (проверяем серийный номер - если не наша флешка, то сразу же её отключаем или в более мягком варианте натравливаем на неё антивирь, буква уже есть, а авторан еще не работает). Для работы с WMI Microsoft выпустил утилитку scriptomatic, занятная штука позволяет сгенерить практически готовый скрипт.&nbsp; Очень мощное средство администрирования (и хакинга), как говорится: &quot;Гугл тебе в помощь&quot;</p></blockquote></div><p>Скрипт еще не допилен, нет, эти компы не соединены, если вставится 2 флэшки, то скрипт определит, если на флэшке есть нужный файл идентификации, то начнет копировать, если нет, то забьет на нее.</p>]]></content>
			<author>
				<name><![CDATA[SNR93]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=26666</uri>
			</author>
			<updated>2012-09-01T07:09:55Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=63394#p63394</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: VBScript: Копирование файла с неизвестной буквой диска]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=63393#p63393" />
			<content type="html"><![CDATA[<p>На мой взгляд:<br /></p><div class="codebox"><pre><code>
Set objWMI = GetObject(&quot;winmgmts:\\.\root\cimv2&quot;)
For Each wmiDiskDrive In objWMI.ExecQuery(&quot;SELECT * FROM Win32_DiskDrive&quot;)
	If wmiDiskDrive.InterfaceType = &quot;USB&quot; Then		
		With wmiDiskDrive
			s = Left(Mid(.PNPDeviceID, InStrRev(.PNPDeviceID, &quot;\&quot;) + 1), _
					InStrRev(Mid(.PNPDeviceID, InStrRev(.PNPDeviceID, &quot;\&quot;) + 1), &quot;&amp;&quot;) - 1)
		End With
		&#039;проверяем серийник
		If  s = Серийник_Целевой_Флешки Then					
			For Each wmiDiskPartition In objWMI.ExecQuery(&quot;ASSOCIATORS OF {Win32_DiskDrive.DeviceID=&#039;&quot; _
					&amp; wmiDiskDrive.DeviceID &amp; &quot;&#039;} WHERE AssocClass = Win32_DiskDriveToDiskPartition&quot;)        				
				For Each wmiLogicalDisk In objWMI.ExecQuery(&quot;ASSOCIATORS OF {Win32_DiskPartition.DeviceID=&#039;&quot; _
						&amp; wmiDiskPartition.DeviceID &amp; &quot;&#039;} WHERE AssocClass = Win32_LogicalDiskToPartition&quot;)
					MsgBox &quot;Серийный номер диска: &quot; &amp; s &amp; vbCrLf &amp; &quot;Буква диска: &quot; &amp; wmiLogicalDisk.DeviceID
				Next
			Next		
		End If
	End If
Next</code></pre></div>]]></content>
			<author>
				<name><![CDATA[dab00]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=27085</uri>
			</author>
			<updated>2012-09-01T06:43:47Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=63393#p63393</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: VBScript: Копирование файла с неизвестной буквой диска]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=63382#p63382" />
			<content type="html"><![CDATA[<p><strong>Fedor</strong><br />3. Метка тома == серийный номер ?</p>]]></content>
			<author>
				<name><![CDATA[Serge Yolkin]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=27503</uri>
			</author>
			<updated>2012-08-31T18:51:30Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=63382#p63382</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: VBScript: Копирование файла с неизвестной буквой диска]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=63381#p63381" />
			<content type="html"><![CDATA[<p>маленький кусок определит букву подключённой флешки, конечно, если флешка одна, а не много...<br />далее можно копировать, тем более, что исходное положение файла на компе, как я понял известно...<br />правда кусок на JS, но для знающих людей переложить на VBs минутное дело<br /></p><div class="codebox"><pre><code>var fsoObj = WScript.CreateObject(&quot;Scripting.FileSystemObject&quot;);        
drvColl = fsoObj.Drives;                            
coll = new Enumerator(drvColl);
for(coll.moveFirst(); !coll.atEnd(); coll.moveNext())
    {
    i = coll.item();
    if(i.DriveType == 1)
        {
        WScript.Echo(&quot;Буква флешки = &quot; + i.DriveLetter);
        }
    }</code></pre></div>]]></content>
			<author>
				<name><![CDATA[im2002]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=28063</uri>
			</author>
			<updated>2012-08-31T18:40:06Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=63381#p63381</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: VBScript: Копирование файла с неизвестной буквой диска]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=63378#p63378" />
			<content type="html"><![CDATA[<p>Поразмыслил над проблемой идентификации флешки. Видится 2 варианта:<br />1. Серийный номер нужной флешки забитый в скрипте, недостаток - если поменяетя флешка, придётся модифицировать скрипт (а флешек у админа может быть много)<br />2. Скрытый файл на флешке с определенным содержимым, например, каким-то образом перекрученный серийный номер самой флешки. Даст возможность скрипту идентифицировать нужную флешку, но простое копирование его на другую флешку не сделает её доверенной. Недостаток то же есть - после форматирования флешки главное не забыть сделать её доверенной.</p>]]></content>
			<author>
				<name><![CDATA[Fedor]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=28233</uri>
			</author>
			<updated>2012-08-31T16:51:05Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=63378#p63378</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: VBScript: Копирование файла с неизвестной буквой диска]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=63325#p63325" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>Fedor пишет:</cite><blockquote><p>2. Что будет делать Ваш скрипт если в компьютер вставят, например, 2 флешки?</p></blockquote></div><p>Автору можно немного подправить для поиска определённого файла или каталога на этом носителе, чтобы однозначно идентифицировать свою флэшку.</p>]]></content>
			<author>
				<name><![CDATA[Jurii]]></name>
			</author>
			<updated>2012-08-30T10:14:29Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=63325#p63325</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: VBScript: Копирование файла с неизвестной буквой диска]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=63259#p63259" />
			<content type="html"><![CDATA[<p>SNR93&nbsp; хотелось бы получить некоторые уточнения:<br /> 1. Компьютеры связаны локальной сетью? Если да, то можно не морочиться с флешкой, а&nbsp; просто по сети собрать все файлы на комп админа (достаточно cmd).<br /> 2. Что будет делать Ваш скрипт если в компьютер вставят, например, 2 флешки? <br /> 3. В Вашем скрипте нет механизма определения &quot;нужной&quot; флешки.</p><p>&nbsp; Чисто академически: используя WMI можно определить не только букву на которую подключилась флешка, но и параметры самой флешки, например, серийный номер оной (готовый способ определить &quot;нужную&quot; флешку). Опять же есть механизм сохранить процедуру идентификации &quot;нужной&quot; флешки и сам скрипт копирования файла в реестре системы что безопаснее хранения скрипта на диске компа, мало того нет необходимости в бесконечном цикле, поскольку система сама стартанет скрипт по событию подключения флешки (это не ауторан с флешки, а описание админом действий самой системы по её подключению). Можно реализовать запрет на использование левых флешек на компах конторы (проверяем серийный номер - если не наша флешка, то сразу же её отключаем или в более мягком варианте натравливаем на неё антивирь, буква уже есть, а авторан еще не работает). Для работы с WMI Microsoft выпустил утилитку scriptomatic, занятная штука позволяет сгенерить практически готовый скрипт.&nbsp; Очень мощное средство администрирования (и хакинга), как говорится: &quot;Гугл тебе в помощь&quot;</p>]]></content>
			<author>
				<name><![CDATA[Fedor]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=28233</uri>
			</author>
			<updated>2012-08-27T22:08:50Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=63259#p63259</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: VBScript: Копирование файла с неизвестной буквой диска]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=63252#p63252" />
			<content type="html"><![CDATA[<p>в сабже как то ни странно - копихере<br />ааа - не прав, копифайл, был не внимая</p>]]></content>
			<author>
				<name><![CDATA[smaharbA]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=2911</uri>
			</author>
			<updated>2012-08-27T18:01:14Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=63252#p63252</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: VBScript: Копирование файла с неизвестной буквой диска]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=63186#p63186" />
			<content type="html"><![CDATA[<p><strong>SNR93</strong><br />Бесконечный цикл, да ещё и Drv.IsReady.. Вы систему не боитесь травмировать? <img src="//forum.script-coding.com/img/smilies/wink.png" width="15" height="15" /><br />А по поводу вашей проблемы всё просто: переведите переменную объекта коллекции Drives в строковый подтип данных через CStr, Trim и т.п.</p><p><strong>smaharbA</strong><br />Тут не CopyHere, и объект тут FSO, а не Shell.</p>]]></content>
			<author>
				<name><![CDATA[Flasher]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=27593</uri>
			</author>
			<updated>2012-08-25T20:50:45Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=63186#p63186</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: VBScript: Копирование файла с неизвестной буквой диска]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=63154#p63154" />
			<content type="html"><![CDATA[<p>Копихере имеет только два параметра, Вам второй не нужен ибо Вам его не возможно применить<br />Вам нужен только объект, который описывает назначение&quot; и файл источника - все</p>]]></content>
			<author>
				<name><![CDATA[smaharbA]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=2911</uri>
			</author>
			<updated>2012-08-24T16:49:43Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=63154#p63154</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: VBScript: Копирование файла с неизвестной буквой диска]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=63153#p63153" />
			<content type="html"><![CDATA[<p>Один я не понимаю что тут происходит, давайте заново, без постов выше(кроме основного). Мне нужно поправить скрипт. Код выше, работает все, кроме того, что я не могу сделать путь правильно. Нужная папка на флэшке есть, файл есть на компе. Проблема в том что не известна буква usb-накопителя, поэтому пришлось через vbs скрипт определять букву флэшки, скрипт ее определяет, и делает это правильно, теперь внимание! Нужно из допустим</p><p>kopirovaniefaila.CopyFile &quot;C:\FSO\ScriptLog.txt&quot; , &quot;F:\Archive\&quot;, OverwriteExisting, где F буква usb флэшки сделать</p><p> kopirovaniefaila.CopyFile &quot;C:\FSO\ScriptLog.txt&quot; , Drive + &quot;:\Archive\&quot;, OverwriteExisting, где Drive - переменная в которой хранится буква usb - флэшки! Так как сделал я не работает! Нужно сделать рабочий вариант.</p>]]></content>
			<author>
				<name><![CDATA[SNR93]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=26666</uri>
			</author>
			<updated>2012-08-24T16:42:33Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=63153#p63153</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: VBScript: Копирование файла с неизвестной буквой диска]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=63150#p63150" />
			<content type="html"><![CDATA[<p>Можно использовать и USBDeview.</p>]]></content>
			<author>
				<name><![CDATA[alexii]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=1844</uri>
			</author>
			<updated>2012-08-24T16:01:49Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=63150#p63150</id>
		</entry>
</feed>
