私は学校で働いています、そして私の仕事の多くはコンピュータの更新、設定そして再フォーマットから成り立っています。
ほとんどの作業を実行するためのスクリプトを作成しましたが、とりわけ、コンピュータモデルを毎回手動で選択する必要があります。このスクリプトはGooglingによって発見されましたが、状況に合わせて最適化するためにはある程度の手助けが必要です。
私がサポートする必要があるのは約9つの異なるモデルであり、将来的にはさらに多くのモデルを追加する必要があるため、新しいモデルを追加するのは簡単なはずです。これが私がこれまでに見つけたものです:
FOR /f "tokens=2 delims==" %%a IN ('wmic computersystem get model /format:list') DO SET SYSMODEL=%%a
SET SYSMODEL=%SYSMODEL: =%
ECHO %SYSMODEL%
SET 120L=Latitude 120L
SET MODEL=%SYSMODEL%
echo.%120L% | findstr /C:"%MODEL%" 1>nul
IF ERRORLEVEL 1 (
GOTO :D531_NEXT
) ELSE (
GOTO :120L_OK
)
どうすればこれをより効率的にすることができますか?
それは問題なく動作しますが、私が持っているすべてのコンピュータモデルに対してこの文字列を実行するのはかなり非効率的だろうと思いますか?
編集:これはうまくいくようだ: https://stackoverflow.com/questions/18423443/switch-statement-equivalent-in-windows-batch-file
このスクリプトは正確には何をするはずですか?それはエラーがあります、例えば「システムは指定されたバッチラベルを見つけることができません - 120L_OK」そしてあなたは「120L」を使用していません...
—
DavidPostill
具体的な問題を明確にするか、詳細を追加して必要なものを明確にしてください。それが現在書かれているように、あなたが何を求めているのか正確に言うのは難しいです。を参照してください 依頼方法 この質問を明確にするのに役立つページ。
—
DavidPostill
オーケー、私はもっとよく説明しようとするでしょう。このスクリプトは、 "wmiccomputerystem"が返すものをチェックし、それが4行目に書かれているものと一致すれば、私が選択した特定の場所に移動します。 GOTOが機能していないこと、そしてその使命については心配しないでください。後で詳しく説明します。これをより効率的にする方法についての意見をお寄せください。
Windowsバッチファイルで同等のswitchステートメント あなたにいくつかのアイデアを与えるかもしれません。また見なさい ss64.com/nt/goto.html そして ss64.com/nt/if.html
—
DavidPostill
robvanderwoude.com/batchfiles.php 他のアイデアのために...
—
DavidPostill