[前の記事]« Promise製RAIDコントローラの設定方法
[次の記事]複数ディレクトリ下のファイルの存在チェック »

関連オンラインソフト配布サイト:
Vector>ダウンロード(top) |>MS-DOSまたは汎用 | >WindowsVista/XP/2000/NT

▲カテゴリー「FOR .. IN ( ) DO..」索引へ
▲カテゴリー「遅延環境変数の展開」索引へ

[NT系]FOR文中で連番を自動生成したい

691.
For文中で値を変化させる
2004年08月01日(日) 05時15分
Tamao
前もって、複数の変えたいファイル名のパスをsss.txtに書き出してあり、そのファイル名を連番のついた名前に変えたいのですが、
下記のfor文ですと、A.txtという同じ名前で上書きになってしまいます。
A.txtの名前をsss.txtを1行読むごとに変化させる方法はありますでしょうか?

for /f "delims=" %z in (sss.txt) do ren "%z" A.txt

OSはWinXPです。
どなたかご教授くださいませ。
692.
Re:For文中で値を変化させる
2004年08月01日(日) 19時12分
YanaKen
Tamaoさん こんにちは。

>A.txtの名前をsss.txtを1行読むごとに変化させる方法はありますでしょうか?

>for /f "delims=" %z in (sss.txt) do ren "%z" A.txt

 forのループ内で、別の変数(数値)を変化させていく必要があるわけですね。

>下記のfor文ですと、A.txtという同じ名前で上書きになってしまいます。
 すでに同名のファイルが同じディレクトリにあるわけですから、RENコマンドは2度目以降、毎回エラーを起こす(上書きはされない)と思われます。
 ともあれ、自分の思いつく範囲でこんなサンプルを作ってみました。(もうちょっとスマートなやり方があるかもしれないですが)

[sample.bat]
@echo off
set number=0
for /f "delims=" %%a in (sss.txt) do (
  set /a number=!number!+1
  echo ren "%%a" A!number!.txt
rem 確認用に"echo"をつけてあります。
)

実行方法  cmd /v:ON /csample.bat
※このバッチファイルは、「遅延環境変数の展開」というややこしい概念にからんだ部分があるため(詳細はset /? や cmd /? を参照)、通常のコマンド・プロンプト上で実行するとエラーになります。↑の形式でバッチファイルを起動する必要があります。

[sss.txt]
abc
def
ghi
jkl

<実行結果>
ren "abc" A1.txt
ren "def" A2.txt
ren "ghi" A3.txt
ren "jkl" A4.txt

YanaKen
693.
Re2:For文中で値を変化させる
2004年08月01日(日) 20時56分
Tamao
>Tamaoさん こんにちは。

>>A.txtの名前をsss.txtを1行読むごとに変化させる方法はありますでしょうか?
>>
>>for /f "delims=" %z in (sss.txt) do ren "%z" A.txt

> forのループ内で、別の変数(数値)を変化させていく必要があるわけですね。

>>下記のfor文ですと、A.txtという同じ名前で上書きになってしまいます。
> すでに同名のファイルが同じディレクトリにあるわけですから、RENコマンドは2度目以降、毎回エラーを起こす(上書きはされない)と思われます。
> ともあれ、自分の思いつく範囲でこんなサンプルを作ってみました。(もうちょっとスマートなやり方があるかもしれないですが)

>[sample.bat]
>@echo off
>set number=0
>for /f "delims=" %%a in (sss.txt) do (
>  set /a number=!number!+1
>  echo ren "%%a" A!number!.txt
>rem 確認用に"echo"をつけてあります。
>)

>実行方法  cmd /v:ON /csample.bat
>※このバッチファイルは、「遅延環境変数の展開」というややこしい概念にからんだ部分があるため(詳細はset /? や cmd /? を参照)、通常のコマンド・プロンプト上で実行するとエラーになります。↑の形式でバッチファイルを起動する必要があります。

>[sss.txt]
>abc
>def
>ghi
>jkl

><実行結果>
>ren "abc" A1.txt
>ren "def" A2.txt
>ren "ghi" A3.txt
>ren "jkl" A4.txt

>YanaKen


こんにちは。
おかげさまで成功しました。
思い通りに実行でき、とてもうれしく思います。

遅延環境変数の展開をもっと調べようと思います。

ありがとうございました。
 
 


カテゴリー「FOR .. IN ( ) DO..」索引へ
カテゴリー「遅延環境変数の展開」索引へ

 

カテゴリー一覧

FPCU/FPCDIY QUICK LINK online
この上の各ジャンル名をクリックすると、下のウィンドウが切り替わります▼


=リンク集のインデックスはこちら=

資料書籍

About

2004年08月01日 12:03に投稿されたエントリーのページです。

ひとつ前の投稿は「Promise製RAIDコントローラの設定方法」です。

次の投稿は「複数ディレクトリ下のファイルの存在チェック」です。

他にも多くのエントリーがあります。メインページアーカイブページも見てください。

This site is powered by Six Apart
Movable Type 3.33-ja
このブログについて | 運営:有限会社メディアポート