[前の記事]« 巨大なテキストファイルを分割したい
[次の記事]ファイル名に特定の文字列が含まれる場合だけコピー »

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

▲カテゴリー「COPY,XCOPY…ファイルやディスクの複写・連結・バックアップ」索引へ
▲カテゴリー「FOR .. IN ( ) DO..」索引へ

ファイルサイズが指定値以上の場合だけコピーするには

1643.
サイズを調べてコピー
2007年01月31日(水) 19時10分
へきへき
あるフォルダから違うフォルダへファイルをコピーする時に、ファイルサイズが10MB以上の物だけをコピーするようにしたいのですが、どのようにしたらよいでしょうか?
知ってる人いたら教えてください。
1644.
Re:サイズを調べてコピー
2007年02月01日(木) 11時06分
じゃく
>あるフォルダから違うフォルダへファイルをコピーする時に、ファイルサイズが10MB以上の物だけをコピーするようにしたいのですが、どのようにしたらよいでしょうか?

過去ログに同様の質問と回答があります。

http://fpcu.on.coocan.jp/dosvcmd/bbs/log/cat3/if/4-0087.html
1645.
Re:サイズを調べてコピー
2007年02月01日(木) 11時15分
へきへき
>>あるフォルダから違うフォルダへファイルをコピーする時に、ファイルサイズが10MB以上の物だけをコピーするようにしたいのですが、どのようにしたらよいでしょうか?
>
>過去ログに同様の質問と回答があります。
>
>http://fpcu.on.coocan.jp/dosvcmd/bbs/log/cat3/if/4-0087.html

この過去ログも見たのですが、このログのパターンは決まった1つのファイル限定じゃないと出来ないじゃないですか。
私がやりたいのはあるフォルダの中にあるすべてのファイルを対象にしたいのです。
1646.
Re:サイズを調べてコピー
2007年02月01日(木) 13時28分
じゃく
>>>あるフォルダから違うフォルダへファイルをコピーする時に、ファイルサイズが10MB以上の物だけをコピーするようにしたいのですが、どのようにしたらよいでしょうか?
>>
>>過去ログに同様の質問と回答があります。
>>
>>http://fpcu.on.coocan.jp/dosvcmd/bbs/log/cat3/if/4-0087.html
>
>この過去ログも見たのですが、このログのパターンは決まった1つのファイル限定じゃないと出来ないじゃないですか。
>私がやりたいのはあるフォルダの中にあるすべてのファイルを対象にしたいのです。

ワイルドカード"*"を使えばできます。 
例えば、過去ログの例ですと 

for %%F in (T:\file\sample.dat) do if %%~zF GEQ 50000000 copy %%F C:\temp 
↓ 
for %%F in ( T:\file\* ) do if %%~zF GEQ 50000000 copy %%F C:\temp 

とすれば、T:\file フォルダの全てのファイルに対して、50MB以上のものを C:\temp へコピーします。 
あと for /R なんかも使うことになるかも。for /? で for文の説明を参照してみてください。 


1647.
Re:サイズを調べてコピー
2007年02月01日(木) 14時24分
へきへき
>>>>あるフォルダから違うフォルダへファイルをコピーする時に、ファイルサイズが10MB以上の物だけをコピーするようにしたいのですが、どのようにしたらよいでしょうか?
>>>
>>>過去ログに同様の質問と回答があります。
>>>
>>>http://fpcu.on.coocan.jp/dosvcmd/bbs/log/cat3/if/4-0087.html
>>
>>この過去ログも見たのですが、このログのパターンは決まった1つのファイル限定じゃないと出来ないじゃないですか。
>>私がやりたいのはあるフォルダの中にあるすべてのファイルを対象にしたいのです。
>
>ワイルドカード"*"を使えばできます。 
>例えば、過去ログの例ですと 
>
>for %%F in (T:\file\sample.dat) do if %%~zF GEQ 50000000 copy %%F C:\temp 
>↓ 
>for %%F in ( T:\file\* ) do if %%~zF GEQ 50000000 copy %%F C:\temp 
>
>とすれば、T:\file フォルダの全てのファイルに対して、50MB以上のものを C:\temp へコピーします。 
>あと for /R なんかも使うことになるかも。for /? で for文の説明を参照してみてください。 
>
>

ありがとうございます。うまくいきました。
でもひとつだけ問題がありました。
それはファイル名に全角スペースがあるとコピーされませんでした。
やっぱり全角スペースが入っていると駄目なんですかね??
1648.
Re:サイズを調べてコピー
2007年02月01日(木) 15時03分
じゃく

>でもひとつだけ問題がありました。
>それはファイル名に全角スペースがあるとコピーされませんでした。
>やっぱり全角スペースが入っていると駄目なんですかね??

copy 文の引数を "" ダブルクォーテーションでくくってみてください。

for ....(途中略) ....   copy "%%F" "C:\temp"
 
1649.
Re:サイズを調べてコピー
2007年02月01日(木) 15時14分
へきへき
>
>>でもひとつだけ問題がありました。
>>それはファイル名に全角スペースがあるとコピーされませんでした。
>>やっぱり全角スペースが入っていると駄目なんですかね??
>
>copy 文の引数を "" ダブルクォーテーションでくくってみてください。
>
>for ....(途中略) ....   copy "%%F" "C:\temp"


うまくいきました。
超ありがとうございます。
 
 


カテゴリー「COPY,XCOPY…ファイルやディスクの複写・連結・バックアップ」索引へ
カテゴリー「FOR .. IN ( ) DO..」索引へ

 

カテゴリー一覧

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


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

資料書籍

About

2007年01月31日 11:02に投稿されたエントリーのページです。

ひとつ前の投稿は「巨大なテキストファイルを分割したい」です。

次の投稿は「ファイル名に特定の文字列が含まれる場合だけコピー」です。

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

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