タグ

batに関するkathewのブックマーク (29)

  • バッチファイルlを2重起動できないようにしたい - OKWAVE

    OS:Win XP以上 バッチファイル(.bat)をファイルサーバー上に置き、複数PCから実行可能な状況にしています。 この時、1台のPCがバッチファイルを実行していたら、他のPCからは実行できないように警告を 出すようにしたいのですが、誰かわかる方いませんでしょうか? バッチファイルが実行中(=書き込み禁止状態?)の情報がフラグとして取得できればと思ったのですが、なかなか都合のよいコマンドが見つからず困っています。 よろしくお願いします。

    バッチファイルlを2重起動できないようにしたい - OKWAVE
  • バッチの二重起動防止 - ひらいて

    以前バッチの二重起動防止用にロックファイル生成するロジックを作りこんで失敗したことがあって(バッチ実行中にサーバがブルーバックなんかでリブートすると、次回起動時にファイルを手で消さなければいけなくなる)、何かもっといい方法が無いもんかねとたまに考えることがあったのだけど、今日思い出してなんとなく検索してみたらすげぇイカス方法を発見(「バッチファイルの二重起動を防止する。」)。 オリジナルの方法だと、拡張子付けずにバッチファイル実行すると拡張子無しのごみファイルが出来てしまう。几帳面に実行ファイル名を展開し、ついでに体ロジックが括弧内というのがその後何かと面倒くさいので括弧を外し、二重起動時は特定のエラーレベルを返すようにすると、パターンとしては以下のような感じになるのかしら rem バッチのERRORLEVELが -1 の場合は二重起動でエラー set RC=-1 call :main

    バッチの二重起動防止 - ひらいて
  • Loading...

    kathew
    kathew 2019/12/06
    ”FileLocker はフリーウェア/オープンソースのコマンドラインツールです。”
  • 【Windowsバッチファイル】"ECHO は <OFF> です。" と表示される原因と対処

    [ホーム] - [バッチファイル サンプル一覧] - ["ECHO は <OFF> です。" と表示される原因と対処] "ECHO は <OFF> です。" と表示される原因と対処 | Windows バッチファイル 問題 Windows のバッチで変数の内容を表示させようとすると以下のエラーが発生する場合があります。 "ECHO は <OFF> です。" これは説明が難しいのですが、Windows のバッチの特徴です。 for 文や if文の中で変数を扱う場合は注意が必要です。 普通の使い方をすると変数が初期化されてしまいうまく参照できません。 このような場合は「遅延環境変数」機能を使用します。こういうものと思ってください。 遅延環境変数を使用すると変数が使用できるようになります。ただし変数は %hensu% ではなく !hensu! の様な参照方法となります。 もし遅延環境変数で変数が

  • ラベルの位置へ制御を移す(GOTO)

    GOTO コマンドを使用するとバッチファイルの中で指定したラベルの位置へ制御を移すことができます。ここではバッチファイルの中で使用できる GOTO コマンドの使い方について解説します。

    ラベルの位置へ制御を移す(GOTO)
  • ラベルとgoto(行の移動)

    >>gotoのオプション簡易解説へ 目次 ラベルと「goto」コマンドの使い方 特別なラベル「:eof」 ラベルと「goto」コマンドの使い方 ラベルと「goto」コマンドを使うことで、バッチファイル内の好きな場所で移動することができます。ラベルが目印になり、「goto」コマンドで指定したラベルの場所に処理を飛ばします。 以下に使い方を示します。

    ラベルとgoto(行の移動)
  • BATファイルで、ロックファイルを使った排他制御を行う - くんすとの備忘録

    これは、コマンドプロンプト(cmd.exe) Advent Calendar 2015 - Qiitaの20日目の記事です。 19日目は @nmrmsys さんの "Tee for ToeKick 実行コマンドラインまで含めてログファイルに出力するコマンド" でした。 残りは全部自分です。最後まで駆け抜けるよ! ※Windows 10 Home 64bit 搭載のcmd.exeにて検証を行っています。 さてさて 今回はBATファイルにおける排他制御に関して書きますが、自分がやったことのある内容で、ということで、もうちょい範囲を限定します。 今回は「2つのBATファイルの実行について、ロックファイルを使った排他制御を行う」という内容で書きます。 挙動について 「処理1.BAT」と「処理2.BAT」の実行を排他制御します。 「処理1.BAT」が起動した直後に「処理2.BAT」が起動すると「処理

    BATファイルで、ロックファイルを使った排他制御を行う - くんすとの備忘録
    kathew
    kathew 2019/12/05
    スケジュール実行するバッチには組み込めないっぽい(なんらかの拍子にロックファイルが残ったままマシンが落ちたら、スケジュール実行できなくなるため)
  • Redirecting

    kathew
    kathew 2019/12/05
  • .bat(バッチファイル)のforコマンド解説。 - Qiita

    先日投稿した .bat(バッチファイル)のifコマンド解説。 で予告した通り、forコマンドについても解説を行います。 forコマンドは、たまにバッチファイル中に出てきては見る人を混乱に陥れることで有名です。 ifよりは大分難しいコマンドなので、具体例を多めに取り入れようと思います。 飛ばし読みはしていないという前提で書いてます。可能な限り、最初からお読みください。 目次 1.forコマンドの基 1.そもそもfor文とは? 2.for文の解剖~ (オプション) ~ 3.for文の解剖~ %%アルファベット1文字 ~ 4.for文の解剖~ in ループ処理の対象 do ~ 2.forコマンドの構文①~ オプション無し…ディレクトリ内を対象にとる ~ 3.forコマンドの構文②~ /d…ディレクトリ名を対象にとる ~ 4.forコマンドの構文③~ /r…サブディレクトリまで対象にとる ~ 5

    .bat(バッチファイル)のforコマンド解説。 - Qiita
    kathew
    kathew 2019/11/26
  • ファイルから文字列を読み込む

    目次 ファイルから文字列を読み込む 単語区切りで読み込む スペース区切り その他の文字で区切られている場合 1行すべてを読み込む その他の関連しそうな記事 ファイルから文字列を読み込む ファイルから文字列を読み込むには、「for /f」コマンドを使用します。 「for」は繰り返し処理を行うコマンドですが、「for /f」はファイル内容を繰り返し読み込むというコマンドです。その他の「for」コマンドの使い方に関しては、「for(繰り返し処理) -コマンド別解説-」に詳しく解説しています。 では、以下のような「word.txt」ファイルがあったとします。 縦1列に名前が並んでいます。この中身を読むバッチファイル(read_word.bat)は以下のように書けます。

    ファイルから文字列を読み込む
    kathew
    kathew 2019/11/26
  • call(バッチファイルやサブルーチンの呼び出し)

    >>callのオプション簡易解説へ 目次 バッチファイルを呼び出す サブルーチンを呼び出す もう一つのコマンド「start」 バッチファイルを呼び出す バッチファイル内から別のバッチファイルを呼び出すときには「call」コマンドを使います。使用方法は、「call」コマンドの引数として呼び出したいバッチファイル名を書きます。

    call(バッチファイルやサブルーチンの呼び出し)
    kathew
    kathew 2019/11/26
  • バッチファイルからバッチファイルを呼び出す

    目次 「start」を使ったバッチファイルの呼び出し 「call」を使ったバッチファイルの呼び出し 引数を受け渡す その他の関連しそうな記事 「start」を使ったバッチファイルの呼び出し ここでは、バッチファイル内でさらに別のバッチファイルを呼び出す方法を紹介します。プログラムが大規模になってくるとプログラム内でさらに別のバッチプログラムを呼び出したい場合があります。そんなときは「start」コマンドまたは「call」コマンドを使用します。 使用方法は、どちらもスペースを挟んで呼び出したいバッチファイルを指定します。

    バッチファイルからバッチファイルを呼び出す
    kathew
    kathew 2019/11/26
  • batファイルで、そのファイル自身のパスを取得する - 砂漠の音楽

    社内SNSで得たネタだが家から見れないのでこちらにも。 Windowsバッチファイルで、そのbatファイル自身が存在するパスを取得したいことがよくあります。 %~dp0 なんじゃこれというかんじですが、 > cd /d %~dp0 とやれば、そのbatファイル自身が存在するディレクトリを カレントディレクトリにできます。 修飾子一覧 修飾子 意味 f フルパス名(ファイル名含む) d ドライブ文字だけ(C:など) p パス名だけ(ファイル名除く) n ファイル名だけ(.より前) x 拡張子だけ(.なんとか) s nまたはxと一緒に使って短いファイル名形式または拡張子に(そのファイルが存在する必要あり) $変数: 変数をディレクトリリストとして、パラメータで指定したファイルを探して最初に一致したフルパス

    batファイルで、そのファイル自身のパスを取得する - 砂漠の音楽
    kathew
    kathew 2019/11/26
  • バッチファイルで引数を使う

    こんなことを知りたい人へ向けて書いています Windowsバッチファイルに引数を渡して実行する方法を知りたい方 コマンド内で呼び出したバッチファイルに引数を渡す方法を知りたい方 その他、引数に関する操作を詳しく知りたい方(詳しくは下の目次をご覧下さい) 目次 バッチファイルに引数を渡して実行する コマンドプロンプト画面から実行するときに引数を指定する バッチファイルの上に乗せたファイルを引数とする方法 バッチファイルからバッチファイルを呼び出すときに引数を指定する サブルーチンに引数を引き渡す 10個以上の引数を使用する スペース以外の区切り文字に注意 区切り文字を区切り文字として扱わない 引数から欲しい部分を抜き出す バッチファイルに引数を渡して実行する バッチファイルに引数を渡して実行するには大きく分けて2つの方法があります。 コマンドプロンプト画面を開いて、バッチファイルと共に引数を

    バッチファイルで引数を使う
    kathew
    kathew 2019/11/26
  • Windowsバッチの多重起動防止策 | クロジカ

    SET "CMD_NAME=俺のバッチ" for /f %%b in ('"tasklist /FI "WINDOWTITLE eq !CMD_NAME!" | find /C /I "cmd.exe""') do set myproc=%%b IF !myproc! GEQ 1 ( exit ) TITLE %CMD_NAME% Windowタイトルでの絞り込みは下記のようにしてもできるのですが、タイトルが長すぎるとちぎれてしまうので上記の方が安全な気がします。 for /f %%b in ('"tasklist /V | find /C /I "!CMD_NAME!""') do set myproc=%%b

    Windowsバッチの多重起動防止策 | クロジカ
    kathew
    kathew 2019/11/22
  • batファイルで多重起動(二重起動)を防止する - aachyeeの日記

    バッチファイルで多重起動(二重起動)を抑止するコードを探してみた。 bat 多重|二重 実行|起動 抑止|禁止|防ぐ|防止|できないように|させない - Google 検索 方法として、大まかに2つあった。 方法1:バッチファイル自身を追記モードで開く。 方法2:tsklistコマンドを使って実行している数をチェックする。 たが、方法2はチェックする前に複数起動されるとどれもチェックに引っかかり、行いたい処理が実行できない。よって方法1をベースにブラッシュアップしてみた。 @echo off set ERRORLEVEL=1 call :main %* 0>>"%~dpnx0" && set ERRORLEVEL=0 if %ERRORLEVEL% neq 0 echo multiple start-up error 1>&2 goto :eof :main echo main start

    batファイルで多重起動(二重起動)を防止する - aachyeeの日記
    kathew
    kathew 2019/11/22
  • バッチファイルの二重起動を防止する。(その2) - Windows Script Programming

    バッチファイルの先頭に以下の3行を追加します。 call :main %* 4>>%0 goto :eof :main

    バッチファイルの二重起動を防止する。(その2) - Windows Script Programming
    kathew
    kathew 2019/11/22
  • バッチファイルで変数を使う

    こんなことを知りたい人へ向けて書いています Windowsバッチファイルでの変数の使い方を知りたい方 ローカル変数として変数を使いたい方 forループ内で変数を変化させる方法を知りたい方 通常の変数ではなく、日付など初めからデフォルト値が入っている特別な変数について知りたい方 変数同士を結合する方法を知りたい方 目次 バッチファイルで変数を使う 日語の変数を使う ローカル変数を使用する ループ内で変数を変化させる 変数を結合する はじめから値が入っている特殊な変数 その他の関連しそうな記事 バッチファイルで変数を使う バッチファイルで変数を使用するには、「set」コマンドを使います。 使い方は以下の通りです。

    バッチファイルで変数を使う
  • bat:フォルダ存在チェック→フォルダ作成→ファイルコピー→access実行 - もう一度立ち上がれ

    @echo off rem **************************************************************************** rem ファイル名 :hogehoge.bat rem スクリプト名称 : rem 処理概要 :フォルダ存在チェック→フォルダ作成→ファイルコピー→access実行 rem 作成日付 :2015年12月30日 rem 更新日付 : rem 作成者 :tyunen rem rem **************************************************************************** rem ■■■変数設定■■■ rem -取得元パス SET COPY_FROM="C:\フォルダをもってくる場所" rem -配布先パス SET COPY_TO=%USERPROFIL

    bat:フォルダ存在チェック→フォルダ作成→ファイルコピー→access実行 - もう一度立ち上がれ
  • バッチファイルから起動したプログラムの終了を待たずに処理を進める方法 - 知らないことがあってもへっちゃらさ