1023

テーブルの変更を行ういくつかの python スクリプトを実行するバッチ ファイルがあります。

  1. 実行したくない 1 ~ 2 個の Python スクリプトをバッチ ファイルから削除するのではなく、ユーザーにコメント アウトしてもらいたい (そうすれば、次のユーザーはこれらのスクリプトがオプションとして存在することを知ることができます!)

  2. また、コメントを追加して、バッチ ファイルを実行する前に、バッチ ファイルで更新する必要がある変数に特に注意を喚起したいと考えています。使えることがわかりましたREM。しかし、それは、ユーザーが実行した後に進行状況をユーザーに更新するためのもののようです。

コメントをより適切に追加するための構文はありますか?

4

12 に答える 12

1102

::または_REM

::   commenttttttttttt
REM  commenttttttttttt

しかし(人々が指摘したように):

  • ::インラインでは機能しません。キャラクターを追加&:
    your commands here & :: commenttttttttttt
  • ネストされた部分 ( IF/ELSEFORループなど)の内側::には、通常の行を続ける必要があります。そうしないと、エラーが発生します (REMそこで使用)。
  • ::以内に失敗する可能性もありますsetlocal ENABLEDELAYEDEXPANSION
于 2013-05-30T15:02:35.323 に答える
968

remコマンドは確かにコメント用です。スクリプトを実行した後、本質的に誰も更新しません。echoただし、一部のスクリプト作成者は、デフォルトではバッチ インタープリターが処理前に各コマンドを出力するため、代わりにそのように使用する場合があります。remコマンドは何もしないので、副作用なしで安全に出力できます。コマンドを出力しないようにするには、コマンドの前に を付ける@か、その設定をプログラム全体に適用するには、 を実行します@echo off。(これはecho off、さらにコマンドを出力することを避けるためです。これは、エコー設定が有効になる前にその@コマンドを出力することを避けるためです。)

したがって、バッチ ファイルでは、次のように使用できます。

@echo off
REM To skip the following Python commands, put "REM" before them:
python foo.py
python bar.py
于 2012-06-29T21:49:47.633 に答える
54

いいえ、普通の古いバッチ ファイルREMがコメントとして使用されます。 ECHO画面に何かを出力するコマンドです。

ファイルのセクションを「コメントアウト」するには、GOTO. これらすべてのコマンド/テクニックの例:

REM it starts here the section below can be safely erased once the file is customised
ECHO Hey you need to edit this file before running it!  Check the instructions inside
ECHO Now press ctrl-c to interrupt execution or enter to continue
PAUSE
REM erase the section above once you have customised the file
python executed1.py
ECHO Skipping some stuff now
GOTO End
python skipped1.py
python skipped2.py
:END
python executed2.py

何と言えばいい?バッチ ファイルは昔の遺物です。

このウェブサイトで詳細を読むことができます。

編集:明らかに探している要素が含まれるように、例を少し変更しました。

于 2012-06-29T21:46:17.353 に答える
34

コンピュータがそれほど高速ではなかった時代には、REM の代わりに :: が好んで使用されていました。REM された行は読み取られ、無視されます。::'ed 行はずっと無視されます。これにより、「昔」のコードが高速化される可能性があります。さらに、REM の後にはスペースが必要ですが、:: の後には必要ありません。

最初のコメントで述べたように、必要な行に情報を追加できます。

SET DATETIME=%DTS:~0,8%-%DTS:~8,6% ::Makes YYYYMMDD-HHMMSS

パーツの飛ばしについて。すべての行の前に REM を配置すると、かなり時間がかかります。前述のように、GOTO を使用して部分をスキップすると、大きなコードを簡単にスキップできます。コードを継続したい位置に :LABEL を必ず設定してください。

SOME CODE

GOTO LABEL  ::REM OUT THIS LINE TO EXECUTE THE CODE BETWEEN THIS GOTO AND :LABEL

SOME CODE TO SKIP
.
LAST LINE OF CODE TO SKIP

:LABEL
CODE TO EXECUTE
于 2013-11-02T21:33:15.817 に答える
31

複数行コメント

コメントアウトしたい行数が多い場合は、すべての行をコメントアウトするよりも、複数行のコメントを作成できる方がよいでしょう。

コメント ブロックに関する Rob van der Woude によるこの投稿を参照してください。

効果を達成する方法はありますが、バッチ言語にはコメント ブロックがありません。

GOTO EndComment1
This line is comment.
And so is this line.
And this one...
:EndComment1

GOTOブロック コメントを作成するには、Label と :Label を使用できます。

または、コメント ブロックがバッチ ファイルの最後にある場合はEXIT、コードの最後に記述してから、理解のために任意の数のコメントを記述できます。

@ECHO OFF
REM Do something
  •
  •
REM End of code; use GOTO:EOF instead of EXIT for Windows NT and later
EXIT

Start of comment block at end of batch file
This line is comment.
And so is this line.
And this one...
于 2016-08-24T10:50:55.117 に答える