- ベストアンサー
.batファイル作成 set コマンドの使い方
- .batファイルで、setコマンドを使用して変数を登録する方法について教えてください。
- .batファイル内で、出力結果を別の変数にセットする方法について教えてください。
- .batファイルで、改行やスペースを含む長い文書を変数に登録する方法について教えてください。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
関連するQ&A
- batファイル コマンド
batファイルでSetを使用して変数を代入してそれをechoでテキストファイルに記載させようとしているのですが、なぜか記載できていません。 何故でしょうか?回答よろしくお願いします。 (例) set TEST=SUCCESS echo %TEST% %COMPUTERNAME%>> "%~dp0%\TEST.txt" 作成されたTEST.txtを開くと 「KAISYA_PC」【※PC名】と入力されており変数TESTの値「SUCCESS」が 入っていません。
- 締切済み
- Windows XP
- コマンドプロンプト(batファイル)のFORコマンド
set aaa1=あああ set aaa2=いいい set aaa3=あいう set aaa4=かきく mkdir %aaa1% mkdir %aaa2% mkdir %aaa3% mkdir %aaa4% 上記のbatファイルをforコマンド(繰り返し処理)を使用してやってみたいです。 下記のbatファイルをつくってみたのですが、うまくいきません。 set aaa1=あああ set aaa2=いいい set aaa3=あいう set aaa4=かきく for /L %%B in (1,1,4) do mkdir %aaa%%B% pause %aaa%%B%のところが %aaa1%=>あああ や %aaa2%=>いいい になると思ったのですが... 文字列とforコマンドでの変数を組み合わせて、 DO処理側の変数として使うことはできないのでしょうか? 変な質問かとは思いますが、ご教授お願い致します。
- ベストアンサー
- Windows系OS
- BATファイルについて
BATファイルについて教えてください。 現在エクセルのVBAでテキストファイルから読み込んだデータを一行づつ解析し条件文でそれぞれ決められた書式のテキストファイルに書き直して新たなテキストファイルを作成するというプログラムを作成して使っています。 この機能をエクセルのVBAではなくBATファイルのようなインタープリンターを介さないプログラムができないかと悩んでいます。 BATファイルで上記の処理が可能か、または作成方法など教えていただけると助かります。 どなたかご存知の方教えてください。
- ベストアンサー
- その他(プログラミング・開発)
- 古いフォルダーを削除するbatファイル
batファイルでディレクトリのバックアップを行いました。 このバックアップを行うときに古いディレクトリを 削除するbatファイルを考えているのですがうまくいきません。 どなたかお知恵をお貸しください。 下記のように名前が付けられたディレクトリがあります。 090601 090602 090603 090604 このディレクトリの日付が古いディレクトリを削除するようにしたい。 (上記の場合090601が該当) 変数にディレクトリの090601を入れられるようなbatを作ればいいのでしょうが。 それが浮かびません。 どのようにしたらよろしいでしょうか??
- 締切済み
- その他(Windows)
- WindowsDOSコマンドで次のBATファイル
DOSコマンドです。ご教示願います。 DOSコマンドで以下のBATファイルを作成したいと考えています。 1.特定のフォルダ「D:\CSV」に以下の形式のファイルがあります。 ・HEAD_DATA_yyyymmdd.csv(yyyymmddは今日の日付西暦8桁) ・BODY_DATA_yyyymmdd.csv(yyyymmddは今日の日付西暦8桁) 2.上記の2つのファイルは「yyyymmdd」の部分が、システム日付を最大に、昨日、前々日と過去に遡った日付のファイルが複数存在します。「D:\CSV」に存在するファイル数は日によって違います。 3.「D:\CSV」に存在するファイルを日付の降順に1ファイル入力し(HEAD~と、BODY~の入力順は考慮しない)、そのファイルの中に存在するレコード(数百件あり)をDBにINSERTします(このDBへのINSERT処理部分はここでは「処理A」と置き換えることにします)。INSERTし終わったファイルは、「D:\CSV\BACKUP」に移動します。 4.上記「3.」をファイルがなくなるまで繰り返します。ただし、yyyymmddの降順に処理を行う必要があるので、「yyyymmdd - 1日」の順番で処理をします。「-1日」する際は、うるう年なども考慮する必要があります。 どのような記述にすればいいのか知識が乏しく。 どうかご教示をお願いいたします。
- ベストアンサー
- その他(プログラミング・開発)
- ファイル移動処理(コマンドプロンプト batファイル)
ファイル移動処理(コマンドプロンプト batファイル) .batファイルでファイル名に日付がついたファイル(例:yyyymmdd_test.txt)の最新日付から2世代前のファイルまでをディレクトリに移動するような処理を記述したいのですが、やり方がわかりません。 例) 20100924_test.txt →移動対象外 20100925_test.txt →移動対象外 20100926_test.txt →移動対象 20100927_test.txt →移動対象 20100928_test.txt →移動対象 今、この下記の様に記述をしていますが意図した処理になりません。 どなたか助言を頂けないでしょうか? -------------------------------------------------------- mkdir temp set num=0 for %%f in (????????_test.txt) do ( set /a num+=1 if %num%==1 move %f% \temp\%f if %num%==2 move %f% \temp\%f if %num%==3 move %f% \temp\%f )
- 締切済み
- その他(プログラミング・開発)
- バッチファイル(batファイル)
あることを自動化するために、あるサイトのバッチファイルをコピー&ペーストして使おうと思っています。 (自由に使用していいと表記してあります) しかし、使用されているプログラムがいくつか入手できなかったり、バッチファイルをいくつか繋げたらら上手くいかなかったりと、 色々と問題があり、自分で改変をしています。 初めてバッチファイルの中身を触ったような初心者なので、色々と試行錯誤しているのですが、行き詰ってしまいました。 上記のように初心者なので、言葉がおかしい所があったりするかもしれませんが、 回答よろしくお願いします。 本題です。 ファイルのドロップで処理を始めたいのですが、どうやらファイル名に半角の#が含まれていると途中でエラーが出るので、 処理の一番最初でファイル名の半角#を全角#に置き換えようとしたのですが上手くいきませんでした。(ファイル名の変更) なので新たなバッチファイル、"ドロップ用.bat"を作り、そこでファイルの置き換えを行ってから、callコマンドで 本命のバッチファイルaaa.batを呼び出そうとしました。 それでもうまくいかないため、質問させていただきました。 バッチファイルは一つのフォルダーにまとめていますが、ドロップするファイルは別のフォルダーにあります。 なお、ドロップするファイルのフルパスには、空白が含まれる可能性があります。 ドロップ用.bat--------------------------- @echo off setlocal set abc=%~n1 set def=%abc:#=#% ren "%~nx1" %def%%~x1 set ghi="%~dp1%def%%~x1" set jkl=%~dp0 call "%jkl%aaa.bat" "%ghi%" rem pause endlocal exit /b ----------------------------------------- ややこしくてまわりくどいバッチファイルですみません。 Windows7を使っています。 C:\windows\system32\cmd.exeと上には書いてあります。 よろしくお願いします。
- 締切済み
- C・C++・C#
- "ROUTE"コマンドをBATで実行するには?
こんにちは。 MS-DOSプロンプトでは、"ROUTE ADD ~"で複数あるルートを登録出来るのは承知しておりますが、そのコマンドをBATファイルに入力して実行しても、1行が繰り返し実行されるのはなぜでしょう? WIN98なので、オプション"-p"が使用できず、スタートアップにBATファイルとして組み込もうと思っているのですが。 別に良い方法があればそちらでも構いません。 宜しくお願いします。
- ベストアンサー
- その他([技術者向] コンピューター)
- bat ファイルの実行制御
10台(例)A/B/C/D/E/F/G/H/I/J PCがありそのうちの5台A/B/C/D/Eはbatファイルの処理を途中までとしたいです。 batファイルを実行した際に実行しているPCの名前を確認して処理を続行or終了 したいのですが何か良い方法はないでしょうか? 例えばテキストファイル内にA~EのPC名を記載しておいてbatファイル実行時にはテキストファイルを確認して該当のPCじゃないか確認 等・・・
- 締切済み
- Windows XP
- batファイルについて教えてください
以下の要件を満たすbatファイルを作成したいと思います。 ・5区切りのCSVファルイを以下のように変数に代入する 読み込みファイル例 列 a , b , c , d , e 111,222,333,444,555 111,222,222,666,777 111,111,123,888,999 行全体を%%a、c列を%%c e列を%%eへ代入 a,b,c,d,e ⇒ %%a c ⇒ %%c e ⇒ %%e ・%%cに3を含むものを確認したい ・if文を使用に3を含むものを処理対象にしたい ・3を含むものに処理を行った後それぞれ以下のようにファイル書き出しを実施したい。 %%a ⇒ zenbun.txt %%c + %%e ⇒ bassui.txt ・処理終了 forやifを使うんだろうなぁ、、程度しかわからず全く詳細な構成がわかりません。 どなたか教えていただけませんでしょうか? よろしくお願いします。
- ベストアンサー
- その他(プログラミング・開発)
お礼
ありがとうございます! とても助かりました^^