たとえばフォルダの中にfirst.txt second.txt third.txtがあって、
これを11.txt 12.txt 13.txtの順の連番でバッチファイルで
リネームされるようにするにはどうすればよいのでしょうか?
(forth.txtがあれば14.txtになります。ForとRen等使用で可能?)

ご存知の方がおられましたらご回答をよろしくお願いします。

A 回答 (1件)

set N=10


for %%F in (first second third forth fifth sixth seventh eighth nineth) do call :ren %%F
goto :EOF
:ren
set /a N+=1
if exist %1.txt ren %1.txt %N%.txt
goto :EOF
    • good
    • 2
この回答へのお礼

早速やってみたところ問題を解決することができました。
ご回答していただきどうもありがとうございました。

お礼日時:2008/06/03 18:53

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Q撮影時刻順に並べて連番リネームする方法を教えてください。

撮影時刻順に並べて連番リネームする方法を教えてください。

先日大勢で旅行に行ったのですが、みんなのデジカメで撮影した写真を
ならべでフォトムービーにしたいと思います。
そのためには、みんなの写真を一つのフォルダに入れて、撮影時刻順に
連番リネームした後に要らない写真を消してゆくのがいいかなと思って
います。

そこで質問ですが、時刻順に並べて連番リネームしてくれるリネーム
用のフリーのソフトはあるのでしょうか?

よろしくご回答お願いします。

Aベストアンサー

1.更新日時のとこクリックし日時順にならべます
2.CtrlとAを同時押しして全選択します
3.Shiftを押しながら右クリックしファイル名の変更を押します
4.一番上のファイルを つけたい名前(1)にしてShiftを押しながら ファイルの横の 何もない空白をクリックすると

つけたい名前(1)
つけたい名前(2)
つけたい名前(3)
になります

またはリネーム用のソフトをダウンロードして使うかですね
http://www.vector.co.jp/soft/win95/util/se375341.html

Qバッチファイルにて連番付きフォルダの作成

今、このようにして、日付のフォルダを作って、画像を整理しています。
今日でしたら、121128というフォルダが出来ます。

set ymdtmp=%DATE:/=%
set yyyymmdd=%ymdtmp:~2%
cd /d E:\AA"\BB
md %yyyymmdd%

move e:\AA"\*.jpg E:\AA"\BB\%yyyymmdd%\

これを121128_0というフォルダを作るようにしたいのです。
そして、今日、もう一度実行すると、既に、121128_0があれば、121128_1というフォルダを作るようにするには、どうすればよいのか教えてください。

その後、実行する毎に、
121128_2
121128_3
というように、最後が連番になるようにしたいのです。

Aベストアンサー

こんな感じで、

set ymdtmp=%DATE:/=%
set yyyymmdd=%ymdtmp:~2%
cd /d E:\AA"\BB

set n=0
:LOOP
IF EXIST %yyyymmdd%_%n% (
set /a n=n+1
goto LOOP
)

md %yyyymmdd%_%n%

move e:\AA"\*.jpg E:\AA"\BB\%yyyymmdd%_%n%\

Qファイルを連番でリネームできるソフトウェア

焦点距離・明るさや撮影日時などが変更されずにファイルを連番でリネームできる便利なソフトウェア、がありますでしょうか?

「IMGP2002.JPG」
「IMGP2005.JPG」
「IMGP2007.JPG」というファイル名です。
    ↓
これを
「IMGP2002.JPG」
「IMGP2003.JPG」
「IMGP2004.JPG」
と連番でリネームできる(焦点距離・明るさや撮影日時などが変更されずに)ソフトウェアがありましたらお教え願います。

できましたらフリーソフトが希望です^^

Aベストアンサー

リネームの定番ソフトとしてFlexible Renamerというものがあります。
これはリネーム実行前にリネーム後のファイル名のシミュレートもしてくれます。http://hp.vector.co.jp/authors/VA014830/FlexRena/

使う機能は
「連番や文字列の追加 -> 連番を末尾に追加」
「数字や文字列の削除 -> 先頭からn文字目よりn文字を削除」
です。

1.元のファイル名
「IMGP2002.JPG」
「IMGP2005.JPG」
「IMGP2007.JPG」

2.ファイル末尾に2から始まる連番を追加
「IMGP20022.JPG」
「IMGP20053.JPG」
「IMGP20074.JPG」

3.先頭から7桁目(先頭は「0桁目」と数えます)の1文字を削除
「IMGP2002.JPG」
「IMGP2003.JPG」
「IMGP2004.JPG」

Qあああ..ああい..ああう という連番を作成するこ

三文字で連番を作成することはできますか?
あああ..ああい..ああう..
あいあ..あいん いああ  いんん..  ..
..と、 んんん までの連番を作成することはできますか?

暇な時に子供の名前を考える際あ~んまでの全通りを機械的に吟味しているのですが
音声ソフトウェアにとりこんで自動的に読み上げてもらい語感を確かめたい と思っているのですが
このひらがな三文字の連番作成をすることはできますか? 
よろしくお願いいたします

Aベストアンサー

http://www.unicode.org/charts/PDF/U3040.pdf
UNICODEの表からひらがな(83文字)を拾ってきて、83*83*83=57万1787種を生成するだけなら、こんなのとか。rubyで書いてます。

hiragana = %w[
ぁ あ ぃ い ぅ う ぇ え ぉ お か が き ぎ く ぐ け
げ こ ご さ ざ し じ す ず せ ぜ そ ぞ た だ ち
ぢ っ つ づ て で と ど な に ぬ ね の は ば ぱ
ひ び ぴ ふ ぶ ぷ へ べ ぺ ほ ぼ ぽ ま み む め
も ゃ や ゅ ゆ ょ よ ら り る れ ろ ゎ わ ゐ ゑ
を ん];
l = hiragana.length; n = l ** 3;
for h in (0... n)
a0 = h % l; x = ( h - a0 ) / l;
a1 = x % l;
a2 = ( x - a1 ) / l;
if h < 5 || h % 100000 == 0 || n - h < 5 then
printf "%06d: %s%s%s\n", h, hiragana[ a0 ], hiragana[ a1 ], hiragana[ a2 ];
end
end

結果はこんな感じ(最初と終わりの数行と10万ごとのパターンを出力):

000000: ぁぁぁ
000001: あぁぁ
000002: ぃぁぁ
000003: いぁぁ
000004: ぅぁぁ
100000: ゅにく
200000: ぶぃぞ
300000: でのぬ
400000: じうほ
500000: ぉぱら
571783: ゐんん
571784: ゑんん
571785: をんん
571786: んんん

http://www.unicode.org/charts/PDF/U3040.pdf
UNICODEの表からひらがな(83文字)を拾ってきて、83*83*83=57万1787種を生成するだけなら、こんなのとか。rubyで書いてます。

hiragana = %w[
ぁ あ ぃ い ぅ う ぇ え ぉ お か が き ぎ く ぐ け
げ こ ご さ ざ し じ す ず せ ぜ そ ぞ た だ ち
ぢ っ つ づ て で と ど な に ぬ ね の は ば ぱ
ひ び ぴ ふ ぶ ぷ へ べ ぺ ほ ぼ ぽ ま み む め
も ゃ や ゅ ゆ ょ よ ら り る れ ろ ゎ わ ゐ ゑ
を ん];
l = hiragana.length; n = l ** 3;
for h in ...続きを読む

Qフォルダ内にあるファイルの連番リネーム。

フォルダ内に決まった数(8枚)のJPG画像が入っていて、その8枚づつ画像の入ったフォルダがたくさんあります。
そのフォルダ内のJPG画像のファイル名はそれぞれ全て違うのですが、フォルダ内にある8枚のJPG画像を全て01.jpg~08.jpgに連番リネームしたいと思っています。

今まではエクスプローラー風フォルダツリーから1個1個フォルダを開けて、中身のJPG画像を全選択して連番にリネームという風にやっていましたが(Namery使用)、例えば中身を変更したいフォルダをD&Dしたらフォルダごとに8枚づつ連番を自動でつけてくれるようなソフト、またはそのような作業が可能なソフトがありましたら教えて下さい。

いくつか試してみましたが期待した結果は得られませんでした、よろしくお願いします。

Aベストアンサー

http://www.vector.co.jp/soft/win95/util/se230280.html
これはどうでしょうか。
D&Dではありませんが、指定したフォルダ配下全てに希望される作業が可能ですし、設定をミスってもUndoが可能です。

Qcat `find ./` > for_print.txt にファイル名を入れたい!

カレントディレクトリ以下のファイルを連結したいのですが、
cat `find ./` > for_print.txt
に「ファイル名」と、
あと、「区切り」がわかるように
********************************
を入れたいのですが、
どうしたら良いでしょうか?

Aベストアンサー

セパレータの形式にこだわらないのであれば、
more `find ./` > for_print.txt
とか、
tail +0 `find ./` > for_print.txt
とか。

Q指定ディレクトリのファイルの連番を、一括リネームする処理

お世話になります。
@で区切られた以下のようなファイル名の連番(Number)をリネーム処理しようとしています。

Name1@Code1@Name2@Code2@Code3@Number1@Number2@Ver.txt

Number1、Number2は3桁表示の連番で、Number1の連番を1つ大きいものにし、Number2は"001"に戻します。
よって、次のようになればOKです。
元:Name1@Code1@Name2@Code2@Code3@003@002@Ver.txt
 →Name1@Code1@Name2@Code2@Code3@004@001@Ver.txt

そこで、このようなコードを書いてみました。

#!/usr/bin/perl
use File::Copy;

my $dir = "./";
opendir DH,$dir or die;
my @file = readdir DH;
foreach my $file(@file){
 next if $file =~ /^\.{1,2}$/;
 @fact = split /\@/,$file;
 $rep = sprintf("%03d",$fact[5]+1);
 $Origine = "$fact[0]\@$fact[1]\@$fact[2]\@$fact[3]\@$fact[4]\@$fact[5]\@$fact[6]\@$fact[7]";
 $Replace = "$fact[0]\@$fact[1]\@$fact[2]\@$fact[3]\@$fact[4]\@$rep\@001\@fact[7]";
# print "前 : $Origine\n";
# print "後 : $Replace\n";
 move( $Origine,$Replace );
}
closedir DH;

printさせて確認する限りではうまく動いているのですが、肝心のリネームの方は、1つのファイルしか処理されません。
何かご指摘頂けると幸いです。
また、同じ処理できれいなコードの書き方(方法)があれば教えてください。
初心者にはこのようなコードしか思いつきませんでしたので・・・

宜しくお願い致します。

お世話になります。
@で区切られた以下のようなファイル名の連番(Number)をリネーム処理しようとしています。

Name1@Code1@Name2@Code2@Code3@Number1@Number2@Ver.txt

Number1、Number2は3桁表示の連番で、Number1の連番を1つ大きいものにし、Number2は"001"に戻します。
よって、次のようになればOKです。
元:Name1@Code1@Name2@Code2@Code3@003@002@Ver.txt
 →Name1@Code1@Name2@Code2@Code3@004@001@Ver.txt

そこで、このようなコードを書いてみました。

#!/usr/bin/perl
use File::Copy;
...続きを読む

Aベストアンサー

あ, たぶんわかった.
「shift-jis だと全角スペースが 8140 だから @ を含んでいるように見える」
ということかな.
Perl のバージョンにもよるけど, 一度適当な文字コードに変換してから split やなんかを実行し, 再度 shift-jis に戻して move するのが安全かな.
あと, 「$file をそのまま使うと無理やりリネームされてしまう」ということについては「処理の対象ではないファイルについてはあらかじめ除外しておく」のが正しいと思います. 今でも「.」とか「..」は初めから除外してますよね. これと同じように, たとえば
next unless ($file =~ tr/@//) == 8;
とかすればいいと思います.

Q連番のファイルをDOSコマンドで

DOSコマンドを利用し、バッチ処理でタスクスケジューラーにて、定期的に、テキストファイルへリダイレクトするのですが、ファイルネームを連番で生成してくれる、コマンド(構文?)をご教授下さい。

例:ipconfig >***.txt (***の部分を連番)

Aベストアンサー

実行するたびに番号を増やすということでしょうかね。
そうすると番号をファイルに記録しておかないといけませんね。

初回だけ、echo 0 > NUM.txt (0と>をくっつけないように)としておく。

set /P NUM=<NUM.txt
set /A NUM+=1
echo %NUM% >NUM.txt (これも>をくっつけない)
set NUM=0000%NUM%
set FILE=%NUM:~-4%.txt (右から4文字を取る)
ipconfig > %FILE%

Qあるフォルダ配下の複数フォルダ内のファイル名をフォルダ名+連番で一括リネームするフリーソフトウェアを教えてください

あるフォルダ内配下の複数のフォルダ内にあるファイル名を一括で
リネームするフリーソフトを探しています。

たとえば下記のような変換イメージです。

【変換前前】
aフォルダ(親フォルダ)
┗bフォルダ(子フォルダ)
 ┗1.html
 ┗2html
   ・
   ・
   ・
┗cフォルダ(子フォルダ)
 ┗1.html
 ┗2html
   ・
   ・
   ・

 ↓

【変換後】
aフォルダ(親フォルダ)
┗bフォルダ(子フォルダ)
 ┗b1.html
 ┗b2html
   ・
   ・
   ・
┗cフォルダ(子フォルダ)
 ┗c1.html
 ┗c2html
   ・
   ・
   ・

変換後のファイル名は子フォルダ名+連番になる形です。

親フォルダ名が子フォルダ名の前についても問題ありません。

なお、OSはWindowsVistaです。

どうかご教授ください。

よろしくお願いいたします。

Aベストアンサー

自分はXPを使っていますが『極窓』というソフトをよく使用します。
vistaでも使えるはずです。
子フォルダが二つや三つなら、単純にファイルの頭にフォルダ名と同じ言葉を『極窓』で追加してやれば早いですから。

多機能なのでファイルのリネームなどの問題は大概解決すると思います。
ぜひ使ってみては?

Qバッチファイル(.bat)へWSH(.wsf)のエラーコードの返し方について

はじめまして、kiwi88と申します。

バッチファイル(.bat)からwshスクリプト(.wsf)を呼び出すプログラムを作成しました。
そこで、wshスクリプトで実行されたエラーコードを呼び出しもとのバッチファイル(.bat)に返すことはできますでしょうか。

以下はバッチファイル(.bat)からwshスクリプト(.wsf)を呼び出す箇所のソースです。

◆バッチファイル(test.bat)◆
----------------------------------------
~※処理内容省略~

cscript test.wsf //nologo //Job:wshscript > batch.log
IF %ERRORLEVEL% NEQ 0 GOTO ERR
exit

:ERR
set ret=%ERRORLEVEL%
echo ****** [%:ERRORLEVEL=%ret%] ****** > err.txt
exit %ret%
----------------------------------------

以下はwshスクリプト(.wsf)のエラーコードを返す箇所のソースです。

◆wshスクリプト(test.wsf)◆
----------------------------------------
<job id = "wshscript">
<script language = "VBScript">
<![CDATA[

Option Explicit

Function Main()

~※処理内容省略~

err = Err.Number
Main = err

End Function

]]>
</script>
</job>
----------------------------------------

長くなってしまい、申し訳ありませんが、
ご教授願えますでしょうか。
宜しくお願いいたします。

はじめまして、kiwi88と申します。

バッチファイル(.bat)からwshスクリプト(.wsf)を呼び出すプログラムを作成しました。
そこで、wshスクリプトで実行されたエラーコードを呼び出しもとのバッチファイル(.bat)に返すことはできますでしょうか。

以下はバッチファイル(.bat)からwshスクリプト(.wsf)を呼び出す箇所のソースです。

◆バッチファイル(test.bat)◆
----------------------------------------
~※処理内容省略~

cscript test.wsf //nologo //Job:wshscript > batch.log
IF %ERRORLEVEL% ...続きを読む

Aベストアンサー

wsf で job で書かれたスクリプトは順番に実行されます。
質問文で書かれたCDATAセクションはこの場合必要有りません。
また、Main 関数が定義されている時自動的にそれが実行されるということもありません。ユーザーが定義した関数を実行するには呼び出す必要があります。
例えば以下のように書きます。
----------------------------------------------------------------
<job id = "wshscript">
<script language = "VBScript">
Option Explicit

Function Main()

'なんかの処理
err = Err.Number
Main = err
End Function
'ここが実行されるメインの処理
WScript.Quit(Main()) '関数Main を呼び出しその返値をjob の返値とする
</script>
</job>


このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング

おすすめ情報