[前の記事]« テキストファイルの先頭に1行追加するには
[次の記事]MS-DOSで下位メモリを少しでも空けたい »

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

▲カテゴリー「WSH(WINDOWS SCROPT HOST)/VBS」索引へ

複雑な?文字列加工

548.
ファイル名を変数に代入
2005年06月10日(金) 02時36分
さか
WindowsXPを使用

BATで複数のファイルから特定の文字列をFINDSTRで検索し、あればそのファイル名を変数に代入したいのですが、
わかりません、ご教授ねがいます。

たとえば
FINDSTR "aaa" *.TXT >null
if 1=%ERRORLEVEL%
ヒットしたファイルだけ削除したい。
549.
Re:ファイル名を変数に代入
2005年06月10日(金) 17時32分
otn
>WindowsXPを使用
>
>BATで複数のファイルから特定の文字列をFINDSTRで検索し、あればそのファイル名を変数に代入したいのですが、
>わかりません、ご教授ねがいます。
>
>たとえば
>FINDSTR "aaa" *.TXT >null
>if 1=%ERRORLEVEL%
>ヒットしたファイルだけ削除したい。

findstr の /m オプションを使うとヒットしたファイル名がわかります。

for /f "delims=" %%F in ('findstr /m "aaa" *.txt') do del "%%F"
550.
Re:ファイル名を変数に代入
2005年06月10日(金) 21時02分
さか
>>WindowsXPを使用
>>
>>BATで複数のファイルから特定の文字列をFINDSTRで検索し、あればそのファイル名を変数に代入したいのですが、
>>わかりません、ご教授ねがいます。
>>
>>たとえば
>>FINDSTR "aaa" *.TXT >null
>>if 1=%ERRORLEVEL%
>>ヒットしたファイルだけ削除したい。
>
>findstr の /m オプションを使うとヒットしたファイル名がわかります。
>
>for /f "delims=" %%F in ('findstr /m "aaa" *.txt') do del "%%F"

ありがとうございます。
変数に入れることが出来ましたが、ファイル名の一部分だけを変数することができますか?

なんども質問して申し訳ありませんがよろしくお願いします。
551.
Re:ファイル名を変数に代入
2005年06月11日(土) 16時36分
otn
>>>WindowsXPを使用
>>>
>>>BATで複数のファイルから特定の文字列をFINDSTRで検索し、あればそのファイル名を変数に代入したいのですが、
>>>わかりません、ご教授ねがいます。
>>>
>>>たとえば
>>>FINDSTR "aaa" *.TXT >null
>>>if 1=%ERRORLEVEL%
>>>ヒットしたファイルだけ削除したい。
>>
>>findstr の /m オプションを使うとヒットしたファイル名がわかります。
>>
>>for /f "delims=" %%F in ('findstr /m "aaa" *.txt') do del "%%F"
>
>ありがとうございます。
>変数に入れることが出来ましたが、ファイル名の一部分だけを変数することができますか?

一部分だけとはどういう意味でしょう? abc.txt の abc だけ取り出したいのであれば %%~nF、.txt を取り出したいのであれば %%~xF です。その他にもあります。詳しくは、for /? の最後のほうを見てください。

そういうのじゃなくて、1文字目から3文字目というような部分文字列ですか?

具体的にどういうことをしたいんでしょうか?
変数に入れるのは手段であって、目的ではないですよね。
552.
Re:ファイル名を変数に代入
2005年06月11日(土) 19時33分
さか
>
>一部分だけとはどういう意味でしょう? abc.txt の abc だけ取り出したいのであれば %%~nF、.txt を取り出したいのであれば %%~xF です。その他にもあります。詳しくは、for /? の最後のほうを見てください。
>
>そういうのじゃなくて、1文字目から3文字目というような部分文字列ですか?
>
>具体的にどういうことをしたいんでしょうか?
>変数に入れるのは手段であって、目的ではないですよね。

以下の用に変数にしたいのです。

・拡張子を除くファイル名
 例:abcde.txt → abc 
・ファイルも一部分
 例:abcde.txt → Abc.txt
   
560.
Re:ファイル名を変数に代入
2005年06月13日(月) 15時34分
otn
>>具体的にどういうことをしたいんでしょうか?
>>変数に入れるのは手段であって、目的ではないですよね。
>
>以下の用に変数にしたいのです。

>・拡張子を除くファイル名
> 例:abcde.txt → abc 

これは前回書きましたよね。

>・ファイルも一部分
> 例:abcde.txt → Abc.txt

これがバッチで出来るのかどうかは具体的に書いてもらわないと何とも言えません。出来るとしたら、(1)環境変数の文字列置換、(2)環境変数の文字位置を指定しての部分文字列取り出し、のいずれかを使うことになります。いずれも、set /? に説明があります。
バッチ機能だけで出来ないことをしたいなら、VBScriptやJScriptを使うことになります。

何らかの事情で具体的なやりたいことが書けないということなら、これ以上のアドバイスは難しいです。
・set /?, for /?, call /? などの熟読&試行錯誤
または
・VBScriptの勉強
をしてください。
561.
Re:ファイル名を変数に代入
2005年06月13日(月) 22時04分
さか
>>>具体的にどういうことをしたいんでしょうか?
>>>変数に入れるのは手段であって、目的ではないですよね。
>>
>>以下の用に変数にしたいのです。
>
>>・拡張子を除くファイル名
>> 例:abcde.txt → abc 
>
>これは前回書きましたよね。
>
>>・ファイルも一部分
>> 例:abcde.txt → Abc.txt
>
>これがバッチで出来るのかどうかは具体的に書いてもらわないと何とも言えません。出来るとしたら、(1)環境変数の文字列置換、(2)環境変数の文字位置を指定しての部分文字列取り出し、のいずれかを使うことになります。いずれも、set /? に説明があります。
>バッチ機能だけで出来ないことをしたいなら、VBScriptやJScriptを使うことになります。
>
>何らかの事情で具体的なやりたいことが書けないということなら、これ以上のアドバイスは難しいです。
>・set /?, for /?, call /? などの熟読&試行錯誤
>または
>・VBScriptの勉強
>をしてください。

VBScriptはちょっとかじったことがありますのでチャレンジしてみます。
 
 


カテゴリー「WSH(WINDOWS SCROPT HOST)/VBS」索引へ

 

カテゴリー一覧

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


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

資料書籍

About

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

ひとつ前の投稿は「テキストファイルの先頭に1行追加するには」です。

次の投稿は「MS-DOSで下位メモリを少しでも空けたい」です。

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

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