<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title><![CDATA[Серый форум &mdash; VBS: Копирование файлов по списку. Сортировка по папкам.]]></title>
		<link>https://forum.script-coding.com/viewtopic.php?id=10937</link>
		<atom:link href="https://forum.script-coding.com/extern.php?action=feed&amp;tid=10937&amp;type=rss" rel="self" type="application/rss+xml" />
		<description><![CDATA[Недавние сообщения в теме «VBS: Копирование файлов по списку. Сортировка по папкам.».]]></description>
		<lastBuildDate>Sat, 12 Sep 2015 07:53:27 +0000</lastBuildDate>
		<generator>PunBB</generator>
		<item>
			<title><![CDATA[Re: VBS: Копирование файлов по списку. Сортировка по папкам.]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=97369#p97369</link>
			<description><![CDATA[<p><strong>dmitriypopov86</strong>, пора бы уже выучить как оформляется заголовок темы.</p>]]></description>
			<author><![CDATA[null@example.com (JSmаn)]]></author>
			<pubDate>Sat, 12 Sep 2015 07:53:27 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=97369#p97369</guid>
		</item>
		<item>
			<title><![CDATA[Re: VBS: Копирование файлов по списку. Сортировка по папкам.]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=97359#p97359</link>
			<description><![CDATA[<div class="quotebox"><cite>dmitriypopov86 пишет:</cite><blockquote><p>на тотале я знаю, как сделать, но этот способ не подходит для общей автоматизации выполняемых задач.</p></blockquote></div><p>На ТС есть CopyTree, она элементарно с этим справляется. Помимо этого есть утилита NTLinks Maker с наличием тихого режима, которая сохраняет место на диске, создавая вместо копий симлинки или жёсткие ссылки с возможностью сохранения относительной структуры выбранных в панели файлов.<br />Мой скрипт аналогично тянется на тулбар ТС и в редакцию кнопки вставляются указанные параметры в соответствующее поле. В самом скрипте править ничего не надо.<br />Вторая же задача с выбранными в панели файлами элементарно решается инструментом группового переименования, где в качестве маски пишется [N1-3]\[N].</p>]]></description>
			<author><![CDATA[null@example.com (Flasher)]]></author>
			<pubDate>Fri, 11 Sep 2015 13:48:03 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=97359#p97359</guid>
		</item>
		<item>
			<title><![CDATA[Re: VBS: Копирование файлов по списку. Сортировка по папкам.]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=97354#p97354</link>
			<description><![CDATA[<div class="quotebox"><cite>Flasher пишет:</cite><blockquote><p><strong>dmitriypopov86</strong><br />Касаемо первый задачи:</p></blockquote></div><p>Спасибо за отклик! Да задача одноразовая , один раз прочитали список и копировали необходимые файлы, на букву диска можно не смотреть - это необязательный параметр, очень принципиально что б скрипт был на vbs, на тотале я знаю, как сделать, но этот способ не подходит для общей автоматизации выполняемых задач. Хм...я что то не так наверное делаю, подставляю параметры и скрипт все время ругается что должно быть 3 параметра.&nbsp; Подскажите путь к списку должен быть такого вида :&nbsp; List = &quot;D:\PL\tempout.txt&quot; или List = fso.GetFile(&quot;D:\PL\tempout.txt&quot;) ?</p>]]></description>
			<author><![CDATA[null@example.com (dmitriypopov86)]]></author>
			<pubDate>Fri, 11 Sep 2015 09:38:04 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=97354#p97354</guid>
		</item>
		<item>
			<title><![CDATA[Re: VBS: Копирование файлов по списку. Сортировка по папкам.]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=97344#p97344</link>
			<description><![CDATA[<p><strong>dmitriypopov86</strong><br />Касаемо первый задачи: структура должна сохраняться, или всё кидать в одну папку? Если да, то букву диска не брать?<br />Это одноразовая задача? Насколько тут принципиален vbs?<br />А то можно было бы воспользоваться инструментарием Total Commander, например.</p><p>Ладно, я ждать уже не буду. Потом отпишитесь. Пока так (tempout.txt в UTF-16):<br /></p><div class="codebox"><pre><code>&#039;================================================================================
&#039; Назначение: копирование файловой структуры по списку базовых имён
&#039; Параметры: &quot;&lt;путь к исходной папке&gt;&quot; &quot;&lt;путь к целевой папке&gt;&quot; &quot;&lt;путь к списку&gt;&quot;
&#039;================================================================================

Option Explicit
Dim Title, IDir, ODir, List, LenID, Shell, FSO, Filt, OutDisk, Chek

Title = &quot; Копирование структуры файлов по списку имён     &quot;
With WScript.Arguments
  If .Count &lt;&gt; 3 Then MsgBox &quot;Укажите 3 параметра!&quot;, 4144, Title : WScript.Quit
  IDir = .Item(0) : ODir = .Item(1) : List = .Item(2)
End With : LenID = Len(IDir) + 1
Set Shell = CreateObject(&quot;Shell.Application&quot;)
Set FSO = CreateObject(&quot;Scripting.FileSystemObject&quot;)
Filt = Join(Split(FSO.OpenTextFile(List,,,-1).ReadAll, vbNewLine), &quot;.*;&quot;) &amp; &quot;.*&quot;
Set OutDisk = Shell.NameSpace(FSO.GetDriveName(ODir))
FFolder IDir, Chek : If Chek = 1 Then MsgBox &quot;Выполнено!&quot;, 4160, Title Else _
MsgBox &quot;Нет файлов с заданными базовыми именами!&quot;, 4144, Title

Sub FFolder(Folder, T)
  Dim Items, OutDir, Fd
  Set Folder = Shell.NameSpace(Folder)
  Set Items  = Folder.Items
  Items.Filter 75968, Filt
  If Items.Count Then
    OutDir = FSO.BuildPath(ODir, Mid(Folder.Self.Path, LenID))
    If Not FSO.FolderExists(OutDir) Then OutDisk.NewFolder(Mid(OutDir, 4))
    T = 1 : Shell.NameSpace(OutDir).CopyHere Items, 280
  End If
  Items.Filter 73888, &quot;*&quot;
  For Each Fd In Items : FFolder Fd.Path, T : Next
End Sub</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (Flasher)]]></author>
			<pubDate>Thu, 10 Sep 2015 22:51:07 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=97344#p97344</guid>
		</item>
		<item>
			<title><![CDATA[VBS: Копирование файлов по списку. Сортировка по папкам.]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=97343#p97343</link>
			<description><![CDATA[<p>Доброго времени суток! Фабула задачи такова : <br />естьtempout.txt файл с перечнем имен файлов без расширений, в виде 020_1290 ;<br />StartFolder = D:\ - откуда копируем;<br />EndFolder = D:\PL\ - куда копируем.<br />Нужно скопировать заданные в списке файлы (с любым расширением). Начал делать дошел до разбора строк и &quot;споткнулся&quot; на сравнивании переменных,&nbsp; строк из масива с именами файлов. Не хватает опыта и знаний.&nbsp; <br /> И еще вопрос как в папке рассортировать содержимое&nbsp; по подпапкам имена которых это первые 3 символа имён файлов, т.е. 19zap.txt и archiv.avi&nbsp; из папки D:\svalka\&nbsp; переместятся&nbsp; 19zap.txt в D:\svalka\19z\ ,&nbsp; а&nbsp; archiv.avi в D:\svalka\arc\. За ранее благодарен.</p>]]></description>
			<author><![CDATA[null@example.com (dmitriypopov86)]]></author>
			<pubDate>Thu, 10 Sep 2015 22:23:30 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=97343#p97343</guid>
		</item>
	</channel>
</rss>
