わすれなぐさ

自称情報ブログ・備忘録

間違いの指摘や役に立ちそうな情報など、些細な事でも気軽にコメントしてください。ブログ管理人へ直接連絡したいときは右下のフォームをご利用ください。

バッチファイルのif文の中で変数をsetし、同じif文の中でその変数を使うと期待通り動きません。

原因

if文が実行された時点で、if文の中身がすべて読み込まれるためです。

実例

次のようなバッチファイルを作成します。
if 1 == 1 (
    set a="foo"
    echo %a%
    pause
)
echo %a%
pause
これを実行すると、次のように画面に表示されます。
C:\>if 1 == 1 (
set a="foo"
 echo
 pause
)
ECHO は <ON> です。
続行するには何かキーを押してください . . .

C:\>echo "foo"
"foo"

C:\>pause
続行するには何かキーを押してください . . .
これを見ると、if文がまとめて読み込まれており、同じif文内のechoは%a%に何も入っていない状態で実行されていることがわかります。

ただし、次のecho %a%が期待通り実行されていることから、if文を抜けた後は変数に値が入るようです。

補足

for文内や、set /a、set /pでも同様の問題が起こります。

対策

gotoをうまく使うなどの工夫をするか、遅延環境変数に置き換えてみましょう。

CMD.EXEの遅延環境変数の展開 - ふなWiki

まとめといいつつほとんどまとめていないので(仮)です。

PC上で比較的容易に書ける表記を(恣意的に)集めました。

表記例

スラッシュ
下降を\で表します。下降がないときは最後に ̄を付けます。

ア\クセント
ことば\
にほんご ̄

語を単独で発音したときや強調の意図があるときに現れる上昇を/で表す方法もあります。

/ア\クセント
こ/とば\
に/ほんご ̄

新しいアクセント記号は、具体的にどんなことを表しているのでしょうか|NHK放送文化研究所

国際交流基金 - 日本語教育通信 本ばこ 『NHK 日本語発音アクセント新辞典』

『NHK日本語発音アクセント辞典』改訂 項目表示形式の検討~アクセント辞典改訂専門委員会(第6回)から~

/\ ̄の代わりに[]=などを用いる方法もあります。

アクセント - Wikipedia

日本語のアクセントの書き方 ver.2

数字
核が何拍目にあるかを数字で表します。

アクセント 1
ことば 3
にほんご 0

アクセントとは何? Weblio辞書

京阪式アクセントでは、高起式ならH、低起式ならLを数字と併記する方法が取れます。

かぜ H0
あたま H2
はる L2

HL
各拍が高いか低いかを語の後に書きます。

アクセント HLLLL
ことば(を) LHH(L)
にほんご(を) LHHH(H)

矢印
2種類考えられます。1つ目はすべての拍の高低を直後の矢印で表す方法です。

ア↑ク↓セ↓ン↓ト↓
こ↓と↑ば↑(を↓)
に↓ほ↑ん↑ご↑(を↑)

こ↑こ↓とは (ココとは) [単語記事] - ニコニコ大百科

2つ目は上昇や下降を矢印で表す方法です。

ア↓クセント
こ↑とば(↓を)
に↑ほんご(を)

参考

アクセント表記法 - Twitter

アクセントを矢印で表記する奴ホント嫌い @ [言語学板] | 博士ちゃんねる

アクセントの表記法一覧(京都のアクセント)

日本語発音における近年のアクセント傾向の分析と考察~『NHK日本語発音アクセント新辞典』の発行に寄せて~

映画「The Hunt for Red October」の主題歌「Hymn To Red October」のロシア語歌詞の読み方をカタカナで表記しました。


歌詞

Холодно, хмуро…
|ホーラドナ |フムーラ
冷たく、重苦しく、
И мрачно в душе
|イー ムラーチナ ヴ |ドゥシェー
心は暗く。
Как мог знать я
|カーク モーグ |ズナーチ ヤー
君の死をどうして私が
что ты умрёшь?
シトー |ティ ウーム|リョーシ
知れただろうか。

До свиданья, берег родной!
|ダ スヴィダーニャ |ビェーリク ラドノーイ
さらば、故郷の地よ!
Как нам трудно представить, что это не сон…
カーク ナーム |トルードナ プリツターヴィチ シトー |エータ ニ ソーン
これが夢でないとは、なんと信じがたいことか。
Родина, дом родной,
|ロージナ |ドーム ラドノーイ
祖国よ、故郷の家よ、
До свиданья, Родина!
|ダ スヴィダーニャ |ロージ|ナ
さらば、祖国よ!

Эй! И в поход, и в поход!
|エイ イ フ パ|ホート イ フ パホート
さあ! 航海へ、航海へ!
Нас волна морская ждёт не дождётся.
ナース ヴァル|ナー マルスカーヤ ジジョート ニ ダジ|ジョーッツァ
海の波が我らを待ちわびている。
Нас зовёт морская даль
|ナース ザ|ヴョート マルスカーヤ |ダーリ |
海の彼方と打ち寄せる波が
И прибой!
イー |プリボー|ーイ
我らを呼んでいる!

①:
Салют отцам и нашим дедам –
サリュート アツ|ツァーム イ ナーシム |ジェーダム
我らの父祖に敬礼し、
Заветам их всегда верны.
ザヴェータム |イフ フシグダー ヴェール|ヌィ
彼らの教えに常に忠実たれ。
Теперь ничто не остановит
チピェーリ ニシ|トー ニ アスタ|ノーヴィト
今、祖国の勝利への歩みを
Победный шаг родной страны!
パビェードヌイ |シャーグ ラドノーイ ストラ|ヌィー
止めるものは何もない!

②:
Ты плыви, плыви бесстрашно,
ティー プルィ|ヴィー プルィヴィー ビスト|ラーシナ
進め、恐れることなく進め、
Гордость северных морей,
ゴールダスチ |シェーヴィルヌィフ マ|リェーイ
北洋の誇りよ、
Революции надежда,
リェヴァ|リューツィイ ナ|ジェージダ
革命の希望よ、
Сгусток веры всех людей.
スグースタク |ヴェールィ フシェーフ リュ|ジェーイ
全人民の信仰の結晶よ!







В октябре, в октябре
ヴ アクチブ|リェー ヴ アクチブ|リェー
10月に、10月に、
Рапортуем мы наши победы.
ラパル|トゥーイェーム ムィー ナーシー パ|ビェーディ
我らの勝利を君たちに告げる。
В октябре, в октябре
ヴ アクチブ|リェー ヴ アクチブ|リェー
10月に、10月に、
Новый мир дали нам наши деды!
ノーヴイ |ミール ダーリー ナーム ナーシー |ジェーディ
我らの祖先が新世界を遺した!





В октябре, в октябре
ヴ アクチブ|リェー | ヴ アクチブ|リェー |
10月に、10月に、
Рапортуем мы наши победы.
ラパル|トゥーイェーム ムィー ナーシー パ|ビェーディ
我らの勝利を君たちに告げる。
В октябре...
ヴ アクチブ|リェー |
10月に、
Новый мир...
ノーヴイ |ミール
新世界を

参考


ぼやき

что ты умрёшь? は「君が自然死する(完了体・未来形)こと」です。Как мог знать я と合わせると「君が自然死することをどうして私が知れたか」となります。どういう状況なんでしょうか。

ждёт не дождётся は直訳すると「待つ(不完了体)待たない(完了体)」で、意味がよく分からなかったのですが、Ждет не дождется - Перевод на английский - примеры русский | Reverso Context で調べると「can't wait」の意味でたくさんヒットしました。日本語だと「待ち切れない」となります。確かに、完了体の「待つ」は「待ち終わる」や「待ち切る」の意味なので、не дождётся は「待ち切れない」と訳せます。おそらく ждёт не дождётся は「待ち切れず待つ」とか「待ち切れないほど待っている」とかいう意味なのでしょうね。

Салют отцам и нашим дедам – Заветам их всегда верны. も分かりません。前半は「父と我らの祖父への敬礼」で、次のダッシュの意味が不明です。ロシア語のダッシュは名詞(の主格)と名詞(の主格)をつないで「AはBだ」を表すと聞いていますが、後半の文に名詞の主格がないのでこのルールに当てはめられません。

мир には「世界」のほか「平和」の意味がある。

このページのトップヘ