[前の記事]« BATファイル毎にプロセスIDを獲得したい
[次の記事]ATによるATスケジュールの削除 »

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

▲カテゴリー「DEL,ERASE,REN…ファイル削除/復活/移動/名前の変更」索引へ

ファイル名の一括変更操作がうまくいかない

568.
文字列置換その2
2005年06月17日(金) 09時14分
初心者
以前この掲示板で文字列置換copyの方法を教えて頂きましたが、また壁にぶつかってしまいました。D:\DATA\?????_p64_???というファイルをD:\Temp\?????_sh64is_???へCOPYしたいのですが、

copy D:\DATA\?????_p64_??? D:\Temp

for %%a in ( D:\Temp\* ) do call :sub %%a
exit /b
:sub
set f=%1
set f=%f:p64=sh64is%
ren %1 %f%

では、?????_p64_???がcopyされるだけでリネームは行われません。仕方なく最後のrenをcopyにするとリネームされたファイルが同じデイレクトリにcopyされるのですが、元の?????_p64_???を削除しようとcopy %1 %f%の後にdel D:\Temp\?????_p64_???と入れると何故か?????_sh64is_???まで消えてしまいます。
基本的な間違いがあるのだとは思いますが、どなたかご指摘頂ければ助かります。
569.
Re:文字列置換その2
2005年06月17日(金) 13時52分
otn
>以前この掲示板で文字列置換copyの方法を教えて頂きましたが、また壁にぶつかってしまいました。D:\DATA\?????_p64_???というファイルをD:\Temp\?????_sh64is_???へCOPYしたいのですが、
>
>copy D:\DATA\?????_p64_??? D:\Temp
>
>for %%a in ( D:\Temp\* ) do call :sub %%a
>exit /b
>:sub
>set f=%1
>set f=%f:p64=sh64is%
>ren %1 %f%
>
>では、?????_p64_???がcopyされるだけでリネームは行われません。

ren D:\temp\abcde_p64_xyz D:\temp\abcde_sh64is_xyz
は文法エラーなので(エラーメッセージ出てるはずですが)、ren を使うなら
ren D:\temp\abcde_p64_xyz abcde_sh64is_xyz
とする必要があります。
set f=%1 を set f=%~nx1 と直せば良いでしょう。

もしくは、ren でなく move を使ってもよいです。

>仕方なく最後のrenをcopyにするとリネームされたファイルが同じデイレクトリにcopyされるのですが、元の?????_p64_???を削除しようとcopy %1 %f%の後にdel D:\Temp\?????_p64_???と入れると何故か?????_sh64is_???まで消えてしまいます。

del D:\Temp\?????_p64_??? の文字通りをcopyの直後に入れるとまだコピーされて無い_p64_ファイルが消えちゃいますが、入れたのはdel %1でしょうか?
それともdel D:\Temp\?????_p64_???をexit /b の前に入れた?
いずれにせよ_sh64is_がすべて消えたのならおかしいですが、ショートネームの影響でしょうかね。
570.
Re:文字列置換その2
2005年06月17日(金) 21時23分
初心者
>もしくは、ren でなく move を使ってもよいです。

ありがとうございます!
moveに変えたら解決しました。m(. .)m
ただ、細かい理屈はよく分からず......これからじっくり勉強したいと思います。
 
 


カテゴリー「DEL,ERASE,REN…ファイル削除/復活/移動/名前の変更」索引へ

 

カテゴリー一覧

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


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

資料書籍

About

2005年06月17日 18:12に投稿されたエントリーのページです。

ひとつ前の投稿は「BATファイル毎にプロセスIDを獲得したい」です。

次の投稿は「ATによるATスケジュールの削除」です。

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

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