<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<title type="html"><![CDATA[Серый форум &mdash; CMD/BAT: перенос файлов из подпапок]]></title>
	<link rel="self" href="https://forum.script-coding.com/extern.php?action=feed&amp;tid=17619&amp;type=atom" />
	<updated>2023-02-27T15:58:50Z</updated>
	<generator>PunBB</generator>
	<id>https://forum.script-coding.com/viewtopic.php?id=17619</id>
		<entry>
			<title type="html"><![CDATA[Re: CMD/BAT: перенос файлов из подпапок]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=156936#p156936" />
			<content type="html"><![CDATA[<p><strong>andypetr</strong><br />Супер. Большое спасибо. Я уверен, многим это пригодиться.</p>]]></content>
			<author>
				<name><![CDATA[Rafael]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=43028</uri>
			</author>
			<updated>2023-02-27T15:58:50Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=156936#p156936</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: CMD/BAT: перенос файлов из подпапок]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=156918#p156918" />
			<content type="html"><![CDATA[<p><strong>Rafael</strong>, приветствую.<br />Запускать с осторожностью: все PDF файлы из всех папок текущей папки перенесутся в текущую папку.<br />Например, если запустить в корне диска C:, то можно получить глобальный перенос всех PDF в одно место.</p><div class="codebox"><pre><code>@echo off &amp; title %~nx0 &amp; SetLocal EnableExtensions EnableDelayedExpansion

  rem Перебор файлов в текущей папке и всех вложенных папках (FOR /R).
  rem %%a - переменная цикла (полное имя файла). 

  for /r %%a in (&quot;*.pdf&quot;) do (

    rem Исключаем файлы из текущей папки:
    rem &quot;%%~dpa&quot; (путь папки для %%a) сравниваем &quot;%%~dp0&quot; (путь к bat-файлу).

    if /i not &quot;%%~dpa&quot; == &quot;%~dp0&quot; (

      rem Имя файла-результата (переносим %%a из его папки в текущую: sFileDest полный путь).
      set &quot;sFileDest=%~dp0%%~nxa&quot;

      rem Заменить на &quot;1&quot;==&quot;0&quot;, если нужно просто переписывать существующие в текущей папке PDF.
      if &quot;1&quot;==&quot;1&quot; (
        rem Если PDF с таким именем уже есть в текущей папке, то файл-результат переименовываем: 
        rem name_1.pdf, name_2.pdf, ..., name_99.pdf.
        for /l %%i in (1,1,99) do (
          if exist &quot;!sFileDest!&quot; set &quot;sFileDest=%~dp0%%~na_%%i%%~xa&quot;
        )
      )

      echo.   &quot;%%~a&quot; -^&gt; &quot;!sFileDest!&quot;
      move /y &quot;%%~a&quot;     &quot;!sFileDest!&quot; &gt;nul
    
    )

  )

EndLocal
exit /b
</code></pre></div>]]></content>
			<author>
				<name><![CDATA[andypetr]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=40320</uri>
			</author>
			<updated>2023-02-26T14:25:05Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=156918#p156918</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[CMD/BAT: перенос файлов из подпапок]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=156912#p156912" />
			<content type="html"><![CDATA[<p>Здравствуйте. Помоги, пожалуйста, напишите батник. Есть папка, в ней подпапки с разными файлами. Нужно из подпапок переместить в текущую папку файлы .pdf. Имя файлов написаны на кириллице.</p>]]></content>
			<author>
				<name><![CDATA[Rafael]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=43028</uri>
			</author>
			<updated>2023-02-25T19:59:53Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=156912#p156912</id>
		</entry>
</feed>
