Имя пользователя:
Пароль:
 | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] Проверить процесс, создать папку "AT-1" в папке "AT" и вместе с ее файлами и папками

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

Аватара для KOD65001

Новый участник


Сообщения: 27
Благодарности: 0

Профиль | Отправить PM | Цитировать


Есть папка "AT" с постоянным именем, полный путь C:\AT

Есть папка "M" тоже с постоянным именем, полный путь C:\M

В папке "M" есть еще папка с файлами и подпапками. Имя папки, которая лежит в папке "M" всегда разное
и может принимать вид, например такой: "Блок © VF 办公室"

Нужно чтобы при запуске BAT скрипта выполнялась проверка процесса "calc.exe"


1) Если процесс "calc.exe" есть, то

Ожидать когда процесс "calc.exe" завершится, чтобы выполнить пункт (2)


2) Если процесса "calc.exe" нету, то

создать папку "AT-1" в папке "AT" и всю папку "Блок © VF 办公室" вместе с ее файлами и подпапками переместить в созданную папку "AT-1", но
только в том случае если в папке "AT" нету папки "AT-1", а если папка "AT-1" уже есть, то создать папку "AT-2" и переместить туда!
затем закрыть BAT скрипт.

P.S. В папке "M" файлы и подпапки могут быть с разными именами, расширениями, размерами и атрибутами (системные, скрытые, только для чтения)


Это пример ДО выполнения скрипта:

C:\AT\AT-1\Круг © VF 办公室\VF 办公室 © Круг\Круг.txt

C:\M\Блок © VF 办公室\VF 办公室 © Блок\Блок.exe


Это пример ПОСЛЕ выполнения скрипта:

C:\AT\AT-1\Круг © VF 办公室\VF 办公室 © Круг\Круг.txt

C:\AT\AT-2\Блок © VF 办公室\VF 办公室 © Блок\Блок.exe

C:\M\

Отправлено: 14:22, 04-07-2020

 

Ветеран


Сообщения: 27449
Благодарности: 8088

Профиль | Отправить PM | Цитировать


Foreigner,
Цитата KOD65001:
процесс "calc.exe" »
Это сообщение посчитали полезным следующие участники:

Отправлено: 06:10, 05-07-2020 | #11



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Ветеран


Сообщения: 1759
Благодарности: 966

Профиль | Цитировать



Цитата Iska:
процесс "calc.exe" »
Нет такого в десятке.

Отправлено: 07:37, 05-07-2020 | #12


Ветеран


Сообщения: 1759
Благодарности: 966

Профиль | Цитировать


Код: Выделить весь код
 PS > calc
 PS > get-process calc
get-process : Cannot find a process with the name "calc". Verify the process name and call the cmdlet again.
At line:1 char:1
+ get-process calc
+ ~~~~~~~~~~~~~~~~
    + CategoryInfo          : ObjectNotFound: (calc:String) [Get-Process], ProcessCommandException
    + FullyQualifiedErrorId : NoProcessFoundForGivenName,Microsoft.PowerShell.Commands.GetProcessCommand

 PS > (Get-CimInstance win32_Process | ? { $_.Name -like 'calc*' }).CommandLine
"C:\Program Files\WindowsApps\Microsoft.WindowsCalculator_10.2005.23.0_x64__8wekyb3d8bbwe\Calculator.exe" -ServerName:App.AppXsm3pg4n7er43kdh1qp4e79f1j7am68r8.mca

 PS > (get-process Calculator).kill()

Отправлено: 08:36, 05-07-2020 | #13


Аватара для YuS_2

Crazy


Contributor


Сообщения: 1235
Благодарности: 518

Профиль | Отправить PM | Цитировать


Цитата KOD65001:
Busla, в отличии от Вас я следую правилам! »
Хмм... в общем-то, то был спич в защиту именно Ваших требований о cmd/bat, Вас ни в чем не обвиняли.

Цитата KOD65001:
YuS_2, я не являюсь студентом! »
В таком случае, не совсем понятно искусственное ограничение в cmd/bat и наличие псевдо-условий задачи. Зачем отслеживать калькулятор? Тем более, что наименование реального процесса, в разных версиях windows могут отличаться...
Приведите описание реальной проблемы во всех подробностях...
Например, непонятно:
Сколько всего может быть каталогов "AT-No"?
Сам сценарий запускаться будет вручную или по расписанию?
В общем, подробности таки требуются...

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

-------
scio me nihil scire. Ѫ

Это сообщение посчитали полезным следующие участники:

Отправлено: 09:14, 05-07-2020 | #14


Ветеран


Contributor


Сообщения: 2735
Благодарности: 1699

Профиль | Отправить PM | Цитировать


CMD. Каталогов AT-X может быть много
Код: Выделить весь код
@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:
Зачем отслеживать калькулятор »
ИМХО, реально там будет что-то более экзотическое.

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

-------
Даже самая сложная проблема обязательно имеет простое, лёгкое для понимания, неправильное решение. Каждое решение плодит новые проблемы.


Последний раз редактировалось megaloman, 05-07-2020 в 13:12.

Это сообщение посчитали полезным следующие участники:

Отправлено: 12:53, 05-07-2020 | #15


Ветеран


Сообщения: 1759
Благодарности: 966

Профиль | Цитировать


Цитата megaloman:
Не уверен, отработает ли с папкой по имени VF 办公室 © Круг »

У меня отработало.
Но, у меня все, включая cmd.exe, в UTF-8 без бом.
Это сообщение посчитали полезным следующие участники:

Отправлено: 13:11, 05-07-2020 | #16


Ветеран


Сообщения: 27449
Благодарности: 8088

Профиль | Отправить PM | Цитировать


Цитата Foreigner:
Нет такого в десятке. »
.

Отправлено: 13:31, 05-07-2020 | #17


Аватара для KOD65001

Новый участник


Сообщения: 27
Благодарности: 0

Профиль | Отправить PM | Цитировать


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

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

Отправлено: 13:35, 05-07-2020 | #18


Ветеран


Сообщения: 1759
Благодарности: 966

Профиль | Цитировать


Изображения
Тип файла: png encodings.png
(75.5 Kb, 24 просмотров)

Цитата Iska:
Нет такого в десятке. »
intl.cpl > Administartive > Change System Locale > Beta: Use Unicode UTF-8 for worldwide language support
Это сообщение посчитали полезным следующие участники:

Отправлено: 13:41, 05-07-2020 | #19


Аватара для KOD65001

Новый участник


Сообщения: 27
Благодарности: 0

Профиль | Отправить PM | Цитировать


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

Отправлено: 13:52, 05-07-2020 | #20



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] Проверить процесс, создать папку "AT-1" в папке "AT" и вместе с ее файлами и папками

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
CMD/BAT - [решено] Нужно создать "батник" - вырезать из "2.txt" первых n строк и вставить их в "1.txt" temphard Скриптовые языки администрирования Windows 12 10-01-2014 18:36
Интерфейс - [решено] пропала кнопка "Создать контакт" в папке "Контакты" 75Roman Microsoft Windows 7 5 26-04-2012 21:19
Доступ - [решено] Надо расшарить папку "буфер" и в ней создать папку "личное" и закрыть к ней доступ stv_J Microsoft Windows 2000/XP 20 20-11-2010 13:09
Интерфейс - [решено] Как удалить папку "Моя музыка","Мои Картинки", "Мое видео"? verdix Microsoft Windows 2000/XP 3 03-10-2009 23:46
Запретить/удалить пункт "Programs" ("Программы") из меню кнопки "Start" ("Пуск") submaster Microsoft Windows NT/2000/2003 5 13-09-2006 12:29




 
Переход