Моя цель - написать пакетный скрипт, который удалит все имена кешей с определенного кеш-сервера.Попытка удаления нескольких имен кэша приложений с использованием пакетного скрипта
Код Я написал ниже ошибки, потому что он не может выполнять команды AppFabric PowerShell. Он возвращает "Remove-Cache -CacheName blahblah" is not a recognized as an internal or external command
.
Я предполагаю, что мне нужно выяснить, и мне нужна помощь от вас, ребята, как я могу использовать команду оболочки FOR /F
, но все же иметь возможность выполнять команды AppFabric PowerShell.
Я попытался добавить строку:
powershell.exe -noexit -command "Import-Module DistributedCacheAdministration;Use-CacheCluster"
в начале пакетного сценария для первого вызова окна PowerShell, импортировать AppFabric модуль, а затем запустить командный сценарий. Но поскольку PowerShell не распознает FOR /F
, он бомбит там. Я пытаюсь удалить несколько cachenames, но я просто недостаточно продвинутый, чтобы сделать это. ПОМОГИТЕ!
:
@echo off
REM using PING and batch line retrieval... only IP address info is called out from ping request
FOR /F "tokens=2,3" %%A IN ('ping %computername% -n 1 -4') DO IF "from"== "%%A" set "IP=%%~B"
echo %IP:~0,-1%
REM GET-CacheClusterHealth > C:\output.txt
REM FIND /n /i "NamedCache" C:\output.txt > C:\results.txt
FOR /F "tokens=4" %%i in (C:\results.txt) DO "Remove-Cache -CacheName %%i"
DEL "C:\output.txt"
DEL "C:\results.txt"
ECHO ALL Cache names have been deleted from Cache Server %IP:~0,-1%
Pause
Любые конкретные причины, по которым вы не просто делаете это в PowerShell, кроме знания командного сценария лучше, чем powershell? Если вы против прямого PS, тогда похоже, что вам нужно написать сценарий powershell, а затем вызвать этот скрипт, а не просто запускать команды так, как вы. – TheMadTechnician
Если бы у меня было ноу-хау по написанию его в powershell, я бы :-), я не знаю эквивалент FOR/F, используя токены в коде PowerShell. Я попробовал называть эту партию из файла .PS1, и у меня все еще есть ошибка, не распознанная командами. –
Извините за инструкции команды REM, я отлаживал этот путь. –