CMD/BAT - [решено] Проверить процесс, создать папку "AT-1" в папке "AT" и вместе с ее файлами и папками

Ответить
 • Просмотры: 1
Аватара пользователя
Foreigner

Re: CMD/BAT - [решено] Проверить процесс, создать папку "AT-1" в папке "AT" и вместе с ее файлами и папками

Сообщение Foreigner »

Код:

Код: Выделить всё

@echo off
setlocal
:check
tasklist | 1>nul findstr Calculator.exe && (
    1>nul timeout /t 1
    goto:check
)
2>nul (for /f "tokens=2 delims=-" %%i in ('dir /b /ad C:\AT\AT-*') do set /a "int=%%i+1")
if not defined int set "int=1"
dir /b C:\M | 1>nul findstr . && (
    md "C:\AT\AT-%int%"
    for /f "tokens=*" %%i in ('dir /b /ad "C:\M"') do move "C:\M\%%i" "C:\AT\AT-%int%"
)

с учетом дополнительных проверок,
Аватара пользователя
Foreigner

Re: CMD/BAT - [решено] Проверить процесс, создать папку "AT-1" в папке "AT" и вместе с ее файлами и папками

Сообщение Foreigner »

Цитата KOD65001:



Busla, в отличии от Вас я следую правилам!
CMD/BAT - [решено] Проверить процесс, создать папку "AT-1" в папке "AT" и вместе с ее файлами и папками




Хмм... в общем-то, то был спич в защиту именно Ваших требований о cmd/bat, Вас ни в чем не обвиняли.




Цитата KOD65001:



YuS_2, я не являюсь студентом!
CMD/BAT - [решено] Проверить процесс, создать папку "AT-1" в папке "AT" и вместе с ее файлами и папками




В таком случае, не совсем понятно искусственное ограничение в cmd/bat и наличие псевдо-условий задачи. Зачем отслеживать калькулятор? Тем более, что наименование реального процесса, в разных версиях windows могут отличаться...

Приведите описание реальной проблемы во всех подробностях...

Например, непонятно:

Сколько всего может быть каталогов "AT-No"?

Сам сценарий запускаться будет вручную или по расписанию?

В общем, подробности таки требуются...




Цитата Busla:



В темах про .bat люди ожидают находить решения на .bat
CMD/BAT - [решено] Проверить процесс, создать папку "AT-1" в папке "AT" и вместе с ее файлами и папками




В темах про bat, люди ищут решение проблемы, зачастую не имея вообще представления о том, что такое powershell.

Поэтому структура форума здесь не при чем. Да, в чем-то это удобно, иногда требуется разделение, но если таки требуется решение проблемы, то не имеет никакого смысла гонять пользователей по разделам форума и грозить им страшными карами, что не туда опубликовали свою проблему... гораздо проще предложить решение, а вот если оно уже не устраивает в части инструмента, тогда автор вопроса и должен сделать уточнение. Желательно
, хоть и необязательно, с обоснованием, почему именно требуется конкретный инструмент ... и да, обоснование не может быть вида "потому, что хочу", ибо если хочешь, то и изучай, и пытайся решить самостоятельно... если не получается - опиши свое решение и задай вопрос о той части, где что-то не получается. Помогут обязательно.

А вот когда описывается задача и только, то инструмент ... ну, вот никакого значения не имеет, имхо. Как-то так.
Аватара пользователя
Foreigner

Re: CMD/BAT - [решено] Проверить процесс, создать папку "AT-1" в папке "AT" и вместе с ее файлами и папками

Сообщение Foreigner »

CMD. Каталогов AT-X может быть много

[spoiler]Код:
[/spoiler]

Код: Выделить всё

@Echo Off
	Set "ImageName=calc.exe"
	Set /A TimeOut=5
	Set "BoxATnew=C:\AT\AT-"
	Set "BoxM=C:\M"
	:Check
		cls
		TaskList /Fi "ImageName Eq %ImageName%" |Find /I "%ImageName%" &&(
			TimeOut /T %TimeOut%
			GoTo :Check
		)
	Set /A N=0
	:DirMD
		Set /A N+=1
		If Exist "%BoxATnew%%N%" GoTo :DirMD
	Pushd "%BoxM%"
	xcopy /C /E /H /F "%BoxM%\*.*" "%BoxATnew%%N%\" &&2>nul Rd /S /Q "%BoxM%"
	Popd
pause
Exit /B







Foreigner, Move со скрытой папкой не отработает. Не уверен, отработает ли с папкой по имени VF 办公室 © Круг



YuS_2,
Цитата YuS_2:



Зачем отслеживать калькулятор
CMD/BAT - [решено] Проверить процесс, создать папку "AT-1" в папке "AT" и вместе с ее файлами и папками




ИМХО, реально там будет что-то более экзотическое.



Busla,
Цитата Busla:



В темах про .bat люди ожидают находить решения на .bat
CMD/BAT - [решено] Проверить процесс, создать папку "AT-1" в папке "AT" и вместе с ее файлами и папками




ИМХО, если это заявлено в категоричной форме. В противном, ИМХО, надо решать задачу. Увы, не всегда это в CMD возможно, и не вижу криминала, если предлагается решение иными средствами, если важно ехать, а не шашечки.

ИМХО, оффтоп -это не предложенное решение иными средствами, а панегирики на тему, какой же аццтой этот CMD, VBS и т д.
Аватара пользователя
Foreigner

Re: CMD/BAT - [решено] Проверить процесс, создать папку "AT-1" в папке "AT" и вместе с ее файлами и папками

Сообщение Foreigner »

Цитата YuS_2:



наименование реального процесса, в разных версиях windows могут отличаться...
CMD/BAT - [решено] Проверить процесс, создать папку "AT-1" в папке "AT" и вместе с ее файлами и папками




YuS_2

Iska, Foreigner, "имя процесса" я в коде сразу исправил на свой. Процесс "calc.exe" - это просто для примера. Периодически на работе требуется менять процесс в зависимости от операций и поставленных задач начальством.



Foreigner, megaloman, Да это именно то, что нужно! Только код от Foreigner что-то не перемещает папку которая находится в папке "М", пробовал разные варианты UTF с бом и без..а вот у megaloman почему то хорошо перемещает...я так понимаю что в методе лучше использовать copy вместо move
Аватара пользователя
KOD65001

Re: CMD/BAT - [решено] Проверить процесс, создать папку "AT-1" в папке "AT" и вместе с ее файлами и папками

Сообщение KOD65001 »

Спасибо ВСЕМ за помощь! Изображение megaloman, Foreigner, Fors1k - огромное спасибо за решение!
Ответить

Вернуться в «Скриптовые языки администрирования Windows»