<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<title type="html"><![CDATA[Серый форум &mdash; CMD/BAT: Как переместить папку на 2 папки вверх?]]></title>
	<link rel="self" href="https://forum.script-coding.com/extern.php?action=feed&amp;tid=17141&amp;type=atom" />
	<updated>2022-05-25T08:11:45Z</updated>
	<generator>PunBB</generator>
	<id>https://forum.script-coding.com/viewtopic.php?id=17141</id>
		<entry>
			<title type="html"><![CDATA[Re: CMD/BAT: Как переместить папку на 2 папки вверх?]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=153345#p153345" />
			<content type="html"><![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>]]></content>
			<author>
				<name><![CDATA[andypetr]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=40320</uri>
			</author>
			<updated>2022-05-25T08:11:45Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=153345#p153345</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: CMD/BAT: Как переместить папку на 2 папки вверх?]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=153344#p153344" />
			<content type="html"><![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>]]></content>
			<author>
				<name><![CDATA[Rumata]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=24846</uri>
			</author>
			<updated>2022-05-25T05:31:59Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=153344#p153344</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: CMD/BAT: Как переместить папку на 2 папки вверх?]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=153343#p153343" />
			<content type="html"><![CDATA[<p><strong>isxodnik</strong>, это не ветка AHK.</p>]]></content>
			<author>
				<name><![CDATA[teadrinker]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=24515</uri>
			</author>
			<updated>2022-05-24T20:36:03Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=153343#p153343</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: CMD/BAT: Как переместить папку на 2 папки вверх?]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=153341#p153341" />
			<content type="html"><![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>]]></content>
			<author>
				<name><![CDATA[isxodnik]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=41364</uri>
			</author>
			<updated>2022-05-24T18:56:52Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=153341#p153341</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[CMD/BAT: Как переместить папку на 2 папки вверх?]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=153332#p153332" />
			<content type="html"><![CDATA[<p>Путь к папке такой</p><p>random_name/data/data/nugnaya_papka/содержимое_нужно_папки</p><p>как сделать такой:<br />random_name/содержимое_нужно_папки </p><p>random_name в каждой папки разный.</p>]]></content>
			<author>
				<name><![CDATA[Jack_Dream]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=42513</uri>
			</author>
			<updated>2022-05-24T11:41:48Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=153332#p153332</id>
		</entry>
</feed>
