<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title><![CDATA[Серый форум &mdash; VBScript: Копирование файла с неизвестной буквой диска]]></title>
		<link>https://forum.script-coding.com/viewtopic.php?id=7495</link>
		<atom:link href="https://forum.script-coding.com/extern.php?action=feed&amp;tid=7495&amp;type=rss" rel="self" type="application/rss+xml" />
		<description><![CDATA[Недавние сообщения в теме «VBScript: Копирование файла с неизвестной буквой диска».]]></description>
		<lastBuildDate>Mon, 03 Sep 2012 11:21:40 +0000</lastBuildDate>
		<generator>PunBB</generator>
		<item>
			<title><![CDATA[Re: VBScript: Копирование файла с неизвестной буквой диска]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=63470#p63470</link>
			<description><![CDATA[<div class="quotebox"><cite>Serge Yolkin пишет:</cite><blockquote><p>3. Метка тома == серийный номер ?</p></blockquote></div><p>на мой взгляд не совсем удобно, метка тома отображается в проводнике и её без проблем может изменить простой юзер.</p>]]></description>
			<author><![CDATA[null@example.com (Fedor)]]></author>
			<pubDate>Mon, 03 Sep 2012 11:21:40 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=63470#p63470</guid>
		</item>
		<item>
			<title><![CDATA[Re: VBScript: Копирование файла с неизвестной буквой диска]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=63430#p63430</link>
			<description><![CDATA[<div class="quotebox"><cite>smaharbA пишет:</cite><blockquote><p>%~dp0 ни как ?</p></blockquote></div><p>1) Надо на vbs а не на bat.<br />2) Писалось выше что это не подходит, но я уже все сделал, спасибо всем что отписались</p>]]></description>
			<author><![CDATA[null@example.com (SNR93)]]></author>
			<pubDate>Sun, 02 Sep 2012 11:43:50 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=63430#p63430</guid>
		</item>
		<item>
			<title><![CDATA[Re: VBScript: Копирование файла с неизвестной буквой диска]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=63429#p63429</link>
			<description><![CDATA[<p>%~dp0 ни как ?</p>]]></description>
			<author><![CDATA[null@example.com (smaharbA)]]></author>
			<pubDate>Sun, 02 Sep 2012 11:41:13 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=63429#p63429</guid>
		</item>
		<item>
			<title><![CDATA[Re: VBScript: Копирование файла с неизвестной буквой диска]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=63394#p63394</link>
			<description><![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>]]></description>
			<author><![CDATA[null@example.com (SNR93)]]></author>
			<pubDate>Sat, 01 Sep 2012 07:09:55 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=63394#p63394</guid>
		</item>
		<item>
			<title><![CDATA[Re: VBScript: Копирование файла с неизвестной буквой диска]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=63393#p63393</link>
			<description><![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>]]></description>
			<author><![CDATA[null@example.com (dab00)]]></author>
			<pubDate>Sat, 01 Sep 2012 06:43:47 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=63393#p63393</guid>
		</item>
		<item>
			<title><![CDATA[Re: VBScript: Копирование файла с неизвестной буквой диска]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=63382#p63382</link>
			<description><![CDATA[<p><strong>Fedor</strong><br />3. Метка тома == серийный номер ?</p>]]></description>
			<author><![CDATA[null@example.com (Serge Yolkin)]]></author>
			<pubDate>Fri, 31 Aug 2012 18:51:30 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=63382#p63382</guid>
		</item>
		<item>
			<title><![CDATA[Re: VBScript: Копирование файла с неизвестной буквой диска]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=63381#p63381</link>
			<description><![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>]]></description>
			<author><![CDATA[null@example.com (im2002)]]></author>
			<pubDate>Fri, 31 Aug 2012 18:40:06 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=63381#p63381</guid>
		</item>
		<item>
			<title><![CDATA[Re: VBScript: Копирование файла с неизвестной буквой диска]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=63378#p63378</link>
			<description><![CDATA[<p>Поразмыслил над проблемой идентификации флешки. Видится 2 варианта:<br />1. Серийный номер нужной флешки забитый в скрипте, недостаток - если поменяетя флешка, придётся модифицировать скрипт (а флешек у админа может быть много)<br />2. Скрытый файл на флешке с определенным содержимым, например, каким-то образом перекрученный серийный номер самой флешки. Даст возможность скрипту идентифицировать нужную флешку, но простое копирование его на другую флешку не сделает её доверенной. Недостаток то же есть - после форматирования флешки главное не забыть сделать её доверенной.</p>]]></description>
			<author><![CDATA[null@example.com (Fedor)]]></author>
			<pubDate>Fri, 31 Aug 2012 16:51:05 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=63378#p63378</guid>
		</item>
		<item>
			<title><![CDATA[Re: VBScript: Копирование файла с неизвестной буквой диска]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=63325#p63325</link>
			<description><![CDATA[<div class="quotebox"><cite>Fedor пишет:</cite><blockquote><p>2. Что будет делать Ваш скрипт если в компьютер вставят, например, 2 флешки?</p></blockquote></div><p>Автору можно немного подправить для поиска определённого файла или каталога на этом носителе, чтобы однозначно идентифицировать свою флэшку.</p>]]></description>
			<author><![CDATA[null@example.com (Jurii)]]></author>
			<pubDate>Thu, 30 Aug 2012 10:14:29 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=63325#p63325</guid>
		</item>
		<item>
			<title><![CDATA[Re: VBScript: Копирование файла с неизвестной буквой диска]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=63259#p63259</link>
			<description><![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>]]></description>
			<author><![CDATA[null@example.com (Fedor)]]></author>
			<pubDate>Mon, 27 Aug 2012 22:08:50 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=63259#p63259</guid>
		</item>
		<item>
			<title><![CDATA[Re: VBScript: Копирование файла с неизвестной буквой диска]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=63252#p63252</link>
			<description><![CDATA[<p>в сабже как то ни странно - копихере<br />ааа - не прав, копифайл, был не внимая</p>]]></description>
			<author><![CDATA[null@example.com (smaharbA)]]></author>
			<pubDate>Mon, 27 Aug 2012 18:01:14 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=63252#p63252</guid>
		</item>
		<item>
			<title><![CDATA[Re: VBScript: Копирование файла с неизвестной буквой диска]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=63186#p63186</link>
			<description><![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>]]></description>
			<author><![CDATA[null@example.com (Flasher)]]></author>
			<pubDate>Sat, 25 Aug 2012 20:50:45 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=63186#p63186</guid>
		</item>
		<item>
			<title><![CDATA[Re: VBScript: Копирование файла с неизвестной буквой диска]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=63154#p63154</link>
			<description><![CDATA[<p>Копихере имеет только два параметра, Вам второй не нужен ибо Вам его не возможно применить<br />Вам нужен только объект, который описывает назначение&quot; и файл источника - все</p>]]></description>
			<author><![CDATA[null@example.com (smaharbA)]]></author>
			<pubDate>Fri, 24 Aug 2012 16:49:43 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=63154#p63154</guid>
		</item>
		<item>
			<title><![CDATA[Re: VBScript: Копирование файла с неизвестной буквой диска]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=63153#p63153</link>
			<description><![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>]]></description>
			<author><![CDATA[null@example.com (SNR93)]]></author>
			<pubDate>Fri, 24 Aug 2012 16:42:33 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=63153#p63153</guid>
		</item>
		<item>
			<title><![CDATA[Re: VBScript: Копирование файла с неизвестной буквой диска]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=63150#p63150</link>
			<description><![CDATA[<p>Можно использовать и USBDeview.</p>]]></description>
			<author><![CDATA[null@example.com (alexii)]]></author>
			<pubDate>Fri, 24 Aug 2012 16:01:49 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=63150#p63150</guid>
		</item>
	</channel>
</rss>
