0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

1Password CLIの環境変数をバッチファイルで使う

Last updated at Posted at 2025-12-14

本記事は、めんどい太郎の Advent Calendar 2025 15日目の記事です。

はじめに

みなさん、ターミナルでパスワードをコピペしてませんか?

私はしてました。

そこで、今回は1Password CLIの環境変数機能を使ってパスワードコピペから卒業したいと思います!

ただ、普通に使う分にはドキュメントがすごくわかりやすいのでバッチファイルに絞って説明します。

(さっさと答えが知りたい方は「ではどうすればいいのか」を見てください。)

1Password CLIの環境変数機能とは

1Password CLIには、環境変数を設定しておくことで、コマンド実行時にパスワードと置き換えてくれる機能があります。

詳しくは公式ドキュメントが映像付きで分かりやすいのでぶん投げておきます()

Windowsのバッチファイルで使う

この機能、実はバッチファイルで使うには少しだけ面倒なのです

Linuxのシェルスクリプトはサンプルがあるので簡単ですが、Windowsのバッチファイルだと簡単にはいきません。

例えば、私はこの機能をmcrconというアプリケーションで使いたいのですが次のようにしても失敗します。

@echo off

set RCON_PASS=op://Personal/*************
op run -- .\mcrcon.exe -H ****** -t -p %RCON_PASS%

pause

実行してみると、1Passwordの認証は行われるのですが置き換えられていないか空白のままになってしまい、RCONの認証に失敗します。

> .\test.bat
Authentication failed!

ここで、ドキュメントをちゃんと読むとスクリプトファイルに読み込む場合には別の方法を用いる必要があることが示されています。

(皆さん気を付けてください)

何やらop readでパスワードを読み込んでその結果を環境変数に入れる必要があるようです。

シェルスクリプトだと単純にKEY="$(op read op://***)"でいいので楽ですがバッチファイルではそうもいきません。

ではどうすればいいのか

調べるとこんな記事がありました!ありがたい!

ということで次のようにすればよいです。

@echo off

for /f "usebackq" %%A in (`op read op://******`) do set RCON_PASS=%%A

pause

面倒ですね...()

これで無事に環境変数にパスワードが入りました。

終わりに

ちょっとだけつまずいたので記事にしてみました。

(クソ記事ですまんかった)

誰かの役に立てれば幸いです!

それでは!

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?