• ベストアンサー

バッチファイルについて

バッチ処理でPerlを処理させたいのですが、どうすればいいのかわからず困っています。 sedだと・・  echo off  if "%1"=="" goto end    echo on     sed -g -f moji1.sed %1.mot > %1.tm1    echo off  :end と書くと処理してくれるのですが、Perlだとどう書けばいいんですかね。どなたかわかる方教えて下さい

質問者が選んだベストアンサー

  • ベストアンサー
  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.1

-gオプションってなんですか? あと、moji1.sedは、どんなことをやっているのでしょうか 基本的には Perl moji1.pl %1.mot > %1.tm1 になると思います

Chiaki---
質問者

お礼

返事がおそくなりすみません。 うまく動かすことができました。ありがとうございます。

関連するQ&A

  • バッチファイルのループ処理の質問です。

    バッチファイルのループ処理の質問です。 バッチファイルでサーバにセキュリティーパッチをインストールしたいのですが、 一件しかインストール出来ません。 ---------------------------------------------- @echo on setlocal set SrcDir=\\192.168.11.5\temp\ for %%i in (%SrcDir%*.msu) do ( %%i /quiet /norestart >>Instarll_log.log IF ERRORLEVEL 3010 GOTO ReqReboot IF ERRORLEVEL 1 GOTO NG IF ERRORLEVEL 0 GOTO OK :NG echo 異常 >> kekka.log echo ERRORLEVELは%ERRORLEVEL%です。 >> kekka.log :OK echo 正常 > kekka.log echo ERRORLEVELは%ERRORLEVEL%です。 >> kekka.log :ReqReboot echo 再起動が必要 >> kekka.log echo ERRORLEVELは%ERRORLEVEL%です。 >> kekka.log ) goto END :END endlocal ---------------------------------------------- 続けて次のファイルをインストールするにはどうすれば良いか 教えてください。

  • ドメインのAdmin権限アカウントを判別させるバッチの記述について

    ■ドメインのAdmin権限アカウントを判別させるバッチの記述について すみません。 また、新規でご質問させて頂きます。 バッチ処理で、 ●ドメインAdmin権限のアカウント(Domain admins)でログオンしたら、終了へいく(goto end) ●一般アカウント権限のアカウント(Domain Users)でログオンしたら、バッチ処理へ行く 構文を記述したのですが、よくわかってません。 下記のような構文と考えてますが if メインAdmin権限のアカウント ~~~ の部分がどう記述するかわかりません。 ご教授頂けますでしょうか? @echo off if メインAdmin権限のアカウント ~~~ goto end rem バッチ処理 :end echo 終了

  • バッチファイルでのif文分岐

    ドラッグ・アンド・ドロップ(以下、D&D)によるバッチファイルを作成する際にダブルクリックでバッチファイルを開こうとする行為のフェールセーフを考えています。 現状では、以下のバッチファイルにファイルやフォルダをD&Dするとif文の分岐の箇所で終了してしまいます。 有識の方の教授をお願いします。 /* ↓↓ 以下コードです ↓↓*/ @echo off if "%1"=="" goto error rem D&Dされたパスを表示 echo %1 echo 終了しました。 goto end :error echo このファイルはダブルクリック形式ではありません。 echo ファイルやフォルダをD^&Dして下さい。 pause exit :end exit /* ↑↑ ここまで ↑↑ */ 開発環境 OS:WindowsXP 以上、よろしくお願いします。

  • バッチファイル goto前の表示のクリア

    バッチファイルでgoto前の表示のクリアしたいです。 どうしたらよいでしょうか? ●記述: :Select echo 選択_______ echo 1 --- 1です echo 2 --- 2です echo 0 --- 終了 set /P Res="入力 >>>>>>> " if "%Res%"=="1" goto 1 if "%Res%"=="2" goto 2 if "%Res%"=="0" goto END goto Select :1 echo. echo 111 echo. goto SELECT :2 echo. echo 222 goto SELECT ●結果: 選択_______ 1 --- 1です 2 --- 2です 0 --- 終了 入力 >>>>>>>1 111 選択_______ 1 --- 1です 2 --- 2です 0 --- 終了 入力 >>>>>>> ●入力後表示したい文字列(以下だけ): 選択_______ 1 --- 1です 2 --- 2です 0 --- 終了 入力 >>>>>>>

  • Virtual PCバッチ起動

    ping で応答しなかったら、バーチャルPCの起動させるというバッチプログラムを 作成しました。しかし、ログオンをして、手動でこのバッチファイルを 開くと動くのですが、タスクスケジューラにのせて実行させても動き ません。素人で申し訳ありませんが、なにがいけないものかご教示 いただけますでしょうか。 --------------------------------------------------- @echo off ping -w 1 -n 1 192.168.0.12 if errorlevel 1 goto error goto END :error "C:\Users\XXXXX\Virtual Machines\XXXXXX1.vmcx" :END ---------------------------------------------------

  • バッチファイル set /p による条件分岐について質問

    vistaを使っています。 set /p でキー入力を受け付け処理を分岐させるファイルを作っているのですが・・・ 例外の条件を定義する方法がわかりません。 詳細は下をご覧になってください。 ~~~~~~~~~~~~~~~~~~~~~~~~~~~ @echo off rem ##################################### rem 分岐プログラムサンプルです! rem ##################################### :start cls echo ■■■分岐プログラムサンプル■■■ echo 【1】test1へ! echo 【2】test2へ! echo 【3】test3へ! echo 【4】メニューを終了します! echo ■■■■■■■■■■■■■■■■■ set /p num="実行したいメニューの数字キーを入力してください⇒" if "%num%"=="1" goto A if "%num%"=="2" goto B if "%num%"=="3" goto C if "%num%"=="4" goto end . . . <省略> ↑のように入力された数字によって、処理が変わるようになっているのですが、ここで"上記以外の条件"を定義するにはどのように記述すればよいのかお教えいただけませんでしょうか。

  • バッチファイルのIF分岐にて任意の文字を入力しておきたい

    バッチファイルのIF分岐にて任意の文字を入力しておきたいです。 下記のようなバッチファイルを作成し、「1」を入力すると「:AAA」のラベル に飛びメッセージが表示されるようにしています。 最初から「1」が自動で入力されているような状況にすることはできますでしょうか? 「set NUM=1」にしておけば、Enterを押すだけで「1」が入力されている のはわかったのですが、DOS上に「1」が表示されていません。 入力待ちの際に「1」が入力されている状況を作りたいと思っています。 Windows XP 32bitで動作させたいです。 お手数ですが知識をお借りしたいと思います。 もしくは「ここを見ろ」というのをご教授ください。 -------------------------------------------------- @echo off :LOOP set NUM= cls echo. echo "1. AAA" echo "2. BBB" echo "0. 終了" echo. echo. set /p NUM="番号を入力してください >" if %NUM% == 1 goto :AAA if %NUM% == 2 goto :BBB if %NUM% == 0 goto :owari echo 番号がありません echo. pause goto :LOOP :AAA echo "AAAです" echo. pause goto :LOOP :BBB echo "BBBです" echo. pause goto :LOOP :owari echo 終了します echo. pause goto :eof --------------------------------------------------

  • バッチファイルに日付(ミリ秒まで)をつけたい

    OS: Windows XP あるソフトを使っており、20分おきにexcelシートが自動的に デスクトップ上に「full01.xls」という名前で記録されます。 そこで上書きされないようにするためにバッチファイルを使ってリネー ムするようにしました。 そこで質問ですが新しいexcelシートが出来るたびに出来た時間がわか るようにしたいです。 どのようにすればよいでしょうか? またそれをどこに挿入すればよいか教えていただきたいです。 よろしくお願いします。 @echo off :TOP rem 空きファイル名を検索 set /a N=2 :SEARCH rem 2~9はfull0x, 10以上はfullxxにする set F=full0 if %N% GTR 9 set F=full if not exist %F%%N%.xls goto WAIT set /a N=N+1 goto SEARCH rem full01.xlsが生成されるのを待つ :WAIT echo Search full01.xls :LB1 rem Sleep if not exist full01.xls goto LB1 echo Found full01.xls echo New File = %F%%N%.xls echo Waiting for file write... rem ファイルの書込動作が完全に終るまで待つ set /a M=1 :WAIT2 if "%M%"=="9999" goto RENAME set /a M=M+1 goto WAIT2 :RENAME echo Rename ren full01.xls %F%%N%.xls echo Done. rem ずっと繰り返し goto TOP

  • バッチファイルでカウントアップするには

    :loop set id=0 if '%1' == '' goto end cd %1 if exist %1 for %%i in (*.bmp) do ( set id+=1 echo %id% ) shift goto loop :end pause バッチファイルをSend Toフォルダにおいて 送られてきた画像データをカウントアップしていきながら名前を id.bmp変えていきたいのですが、 idをカウントアップさせたいのですが方法がわかりません。 どうすればカウントアップされるのでしょうか?

  • 【バッチファイル】コマンドの説明

    @echo off cls :start ECHO. echo 以下から該当PCの作業形態を選択して下さい。 echo 1:データ移行有り echo 2:データ移行無し set choice= set /p choice=上記の番号を入力して下さい(1,2)> if not '%choice%'=='' set choice=%choice:~0,1% if '%choice%'=='1' goto ikou_ari if '%choice%'=='2' goto ikou_nashi ECHO "%choice%" is not valid please try again ECHO. goto start お世話になっております。 今回は、上記の「set choice=」以下の部分が どういった処理をしているのかをお聞きしたくて投稿いたしました。 特に、「set」の使い方と言いますか、 「set」の役割(set以下の処理)がどういうものなのかを お教えいただきたいと思っております。 よろしくお願いいたします。