<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title><![CDATA[Серый форум &mdash; CMD/BAT: Как переместить папку на 2 папки вверх?]]></title>
		<link>https://forum.script-coding.com/viewtopic.php?id=17141</link>
		<atom:link href="https://forum.script-coding.com/extern.php?action=feed&amp;tid=17141&amp;type=rss" rel="self" type="application/rss+xml" />
		<description><![CDATA[Недавние сообщения в теме «CMD/BAT: Как переместить папку на 2 папки вверх?».]]></description>
		<lastBuildDate>Wed, 25 May 2022 08:11:45 +0000</lastBuildDate>
		<generator>PunBB</generator>
		<item>
			<title><![CDATA[Re: CMD/BAT: Как переместить папку на 2 папки вверх?]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=153345#p153345</link>
			<description><![CDATA[<p><strong>Jack_Dream</strong>, вот насколько я понял задачу - попытался сделать универсальное решение.<br />Не могу только понять в условии: &quot;random_name в каждой папки разный&quot;.<br />У меня параметрами передаётся полный путь к нужной папке и кол-во уровней, на сколько переместить вверх её содержимое.<br />Сама нужная папка, став пустой, удаляется.<br />Команда move вызывается 2 раза - отдельно для файлов из нужной папки и для подпапок.</p><p>PS. У меня написано в коде &quot;1-й параметр: полный путь к папке&quot;, но можно также и относительные пути использовать.</p><div class="codebox"><pre><code>@echo off &amp; title %~nx0 &amp; SetLocal EnableExtensions EnableDelayedExpansion
goto :Main
rem ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:Help
  echo.Перемещение содержимого (файлов и папок) выбранной папки Folder вверх на N (^&gt;0) уровней
  echo.Вызов : %~nx0 Папка Колво_уровней
  echo.Пример: %~nx0 ParentFolder\Fld_A\Fld_B\Fld_C 3
  echo.        - перемещает содержимое папки Fld_C на 3 уровня вверх (в папку ParentFolder).
  echo.
:PauseEnd
  pause
:End
  exit /b

rem ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:Main

  if &quot;%~1&quot;==&quot;&quot; goto :Help
  if &quot;%~2&quot;==&quot;&quot; goto :Help

  rem 1-й параметр: полный путь к папке.
  set &quot;sFolder=%~1&quot;
  if &quot;%sFolder:~-1%&quot;==&quot;\&quot; set &quot;sFolder=%sFolder:~0,-1%&quot; &amp;rem убираем конечный символ &quot;\&quot;

  rem 2-й параметр: количество уровней вверх.
  set /a nLevels=%~2
  if !nLevels! lss 1 goto :Help

  rem Строим относительный путь к верхней папке:
  set &quot;sLevels=&quot;
  for /l %%i in (1,1,!nLevels!) do (
    set &quot;sLevels=\..!sLevels!&quot;
  )

  for %%a in (&quot;!sFolder!!sLevels!&quot;) do (
    echo.&quot;!sFolder!&quot; -^&gt; &quot;%%~fa&quot;
  )

  rem Переносим одиночные файлы из sFolder:
  move  &quot;!sFolder!\*.*&quot; &quot;!sFolder!!sLevels!&quot; &gt;nul

  rem Переносим подпапки из sFolder:
  for /d %%a in (&quot;!sFolder!\*.*&quot;) do (
    move  &quot;%%~a&quot; &quot;!sFolder!!sLevels!&quot; &gt;nul
  )

  rem Удаляем пустую папку sFolder:
  rmdir &quot;!sFolder!&quot; &gt;nul

pause

EndLocal
exit /b
</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (andypetr)]]></author>
			<pubDate>Wed, 25 May 2022 08:11:45 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=153345#p153345</guid>
		</item>
		<item>
			<title><![CDATA[Re: CMD/BAT: Как переместить папку на 2 папки вверх?]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=153344#p153344</link>
			<description><![CDATA[<div class="quotebox"><cite>Jack_Dream пишет:</cite><blockquote><p>random_name в каждой папки разный</p></blockquote></div><p>Здесь два варианта:<br />1. передавать каталог-источник как параметр скрипту<br /></p><div class="codebox"><pre><code>
set &quot;move_src=%~1&quot;
set &quot;move_dst=%~1\..\..&quot;
</code></pre></div><p>2. запускать скрипт из каталога-источника<br /></p><div class="codebox"><pre><code>
set &quot;move_src=%CD%&quot;
set &quot;move_dst=%CD%\..\..&quot;
</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (Rumata)]]></author>
			<pubDate>Wed, 25 May 2022 05:31:59 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=153344#p153344</guid>
		</item>
		<item>
			<title><![CDATA[Re: CMD/BAT: Как переместить папку на 2 папки вверх?]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=153343#p153343</link>
			<description><![CDATA[<p><strong>isxodnik</strong>, это не ветка AHK.</p>]]></description>
			<author><![CDATA[null@example.com (teadrinker)]]></author>
			<pubDate>Tue, 24 May 2022 20:36:03 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=153343#p153343</guid>
		</item>
		<item>
			<title><![CDATA[Re: CMD/BAT: Как переместить папку на 2 папки вверх?]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=153341#p153341</link>
			<description><![CDATA[<div class="codebox"><pre><code>e::

Send ^{sc1E}	;Ctrl + A
Sleep, 50		;продолжительность засыпания скрипта подберите сами
Send ^{sc2D}	;Ctrl + X

Loop, 4
	{
	Sleep, 100
	Send !{sc148}	;Alt + стрелка вверх - переход на уровень вверх
	}

Sleep, 50
Send ^{sc2F}	;Ctrl + V

q::Return</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (isxodnik)]]></author>
			<pubDate>Tue, 24 May 2022 18:56:52 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=153341#p153341</guid>
		</item>
		<item>
			<title><![CDATA[CMD/BAT: Как переместить папку на 2 папки вверх?]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=153332#p153332</link>
			<description><![CDATA[<p>Путь к папке такой</p><p>random_name/data/data/nugnaya_papka/содержимое_нужно_папки</p><p>как сделать такой:<br />random_name/содержимое_нужно_папки </p><p>random_name в каждой папки разный.</p>]]></description>
			<author><![CDATA[null@example.com (Jack_Dream)]]></author>
			<pubDate>Tue, 24 May 2022 11:41:48 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=153332#p153332</guid>
		</item>
	</channel>
</rss>
