SET /P и перенаправления входного потока или с помощью FOR /F.start и утилиты tasklist, taskkill и timeout примерно так:@start microsoft-edge:https://yoomoney.ru/moneylandia/lootboxes
@timeout /t 5 /nobreak>nul
@for /f %%1 in ('tasklist^|find /i "msedge"') do @taskkill /im %%1 /f
@echo %~nx0 completed!
@pause %0\..\TeamViewer_Host.msi (кажется, может не работать во внутренних подпрограммах, вызываемых командой call :метка); %0 не следует заключать в кавычки, так как он их может уже содержать (но, с другой стороны, возможны нежелательные последствия, если он содержит спецсимволы вне кавычек…), но можно использовать кавычки в оставшейся части пути: %0\..\"TeamViewer Host.msi"."%~dp0\TeamViewer_Host.msi" (должна быть включена расширенная обработка команд, что обычно имеет место по умолчанию). Вероятно можно с помощью for
for с ключом /f обработать вывод команды set без параметров, получив имена всех (почти) определённых переменных среды (частей выводимых строк до знака =: delims==):for /f "delims==" %v in ('set') do set "%v="% перед переменной цикла надо удвоить). где мне найти информацию по данному вопросу
set /?
if /?…for %%F in (*.pdf) do (
set "old_name=%%~nF"
set "new_name=%%~nF"
call :SUB
)
exit /b
:SUB
set "ch=%new_name:~0,1%"
if "%ch%" geq "0" if "%ch%" leq "9" (
set "new_name=%new_name:~1%"
goto SUB
)
if not "%new_name%" == "%old_name%" ren "%old_name%.pdf" "%new_name%.*"
exit /b setlocal enabledelayedexpansion
set /a first_index = 14
set /a last_index = first_index
:LOOP
if exist %last_index%.json (
set /a last_index += 1
goto LOOP
)
set /a last_index -= 1
for /l %%i in (!last_index!, -1, %first_index%) do (
set /a j = %%i + 1
ren %%i.json !j!.json
)
endlocal echo onrem %*%*, включая возможные специальные символы.for /f %%L in ('findstr "^it\.version\.dev= ^who\.is\.cat=" X.txt') do set "%%L"
unzip way\archive_%it.version.dev%_%who.is.cat%.zip -d \way\to\folderfindstr (хотя при желании можно было бы обойтись только внутренними командами CMD): в файле X.txt ищутся строки, начинающиеся с it.version.dev= и who.is.cat= и используются в команде set (точнее, часть строки до первого пробела или знака табуляции, если они есть в найденной строке, но это, если надо, несложно изменить): часть строки до = становится именем переменной среды, а часть после — её значением. cd и pushd/popd. Кроме того сама команда start поддерживает для этого ключ /d. Возможно, сработаетstart /d "C:\Users\valinor\Desktop\hihi\dist\main" main.exe --dir='D:\ttt'/? — «Ответ легко ищется поисковиком».)for /L %%i IN (1,1,10000000000) do call :doschtasks %%i
set FN=%1schtasks /query для получения имён текущих заданий:for /f "usebackq delims=" %%L in (`schtasks /query /fo csv /nh^|find "Opera GX scheduled Autoupdate "`) do call :sub %%L
exit /b
:sub
schtasks /delete /tn %1 /f forfiles — внешняя утилита, которая не везде установлена, и, честно говоря, не знаю зачем нужна, так как, по крайней мере в большинстве случаев, всё что можно сделать ей, можно сделать внутренней командой for, — советую изучить справку:for /?И сохранять весь результат по папкам нужно в один файл, а не в несколько как у меня.
comand1>file.txt
comand2>file.txt(
comand1
comand2
)>file.txt>> вместо > для дозаписи в файл без его очистки:comand1>file.txt
comand2>>file.txt ping -invalid-arg && goto GOOD || goto BAD&&/||. CD без ключа /D; пример:cd h:\a\b\ch:d\e.doc будет раскрыт в h:\a\b\c\d\e.doc, а h:..\f.doc — в h:\a\b\f.doc.=D: (D— буква диска); и простой командой SET стандартного обработчика командной строки Windows NT не выводятся, но если они определены, их можно увидеть в выводе командыSET "" (или даже SET "): To display undocumented system variables:— ss64.com/nt/set.html, см. также Rob van der Woude — Dynamic Environment Variables.
SET "