VB2008初心者の名前変更エラー解決方法とは?

このQ&Aのポイント
  • VB2008初心者がテキストファイルの名前変更エラーに困っています。適切な方法を教えてください。
  • テキストファイルのコピー直後に名前変更する際に発生するエラーを解決したいです。
  • 他のユーザーのアクセス中に名前変更すると永遠にループするエラーが発生しています。どうすれば解決できますか?
回答を見る
  • ベストアンサー

テキストファイルのコピー直後に名前変更

VB2008初心者です。どうしても解決できないエラーが発生してしまったので、質問させていただきました。 処理内容と、問題点は次の通りです。 1.処理内容  (1)テキストファイルを指定フォルダに、拡張子を.tmpに書き換えてコピー。  (2)コピーし終わった直後に.tmpを.txtに変更。 2.エラー内容  (1)コピーまでは問題ないが、その直後の.txtに書き換える時に、   他のユーザーアクセス中のエラーが発生してしまい、永遠にループ   する。  テキストファイルに複数のユーザーがアクセスするため、コピー中 のアクセスを防ぐ為、コピー中は違う拡張子でコピーし、コピーが終了したら拡張子を戻すということをしたいのですが、どうもうまくいきません。うまく上記の動作をスムーズに行う為の方法を教えていただきたいと思います。よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • nda23
  • ベストアンサー率54% (777/1415)
回答No.1

既に在るファイル名にリネームすることはできません。 よって、既存ファイルの削除→リネームという手順になります。 ここで削除できないとすると、保護属性が付いているか、アクセス中ということになるかと思います。 もしかして、単にリネームしようとしているのでは?

butman11
質問者

お礼

返事がものすごく遅れてしまいすいませんでした! 単にリネームしようとしていました。言われたとおり、 既存ファイルの削除⇒リネームの手順で再度挑戦してみます。 ありがとうございました。

関連するQ&A

  • MSアクセスのテキストリンクがうまくいきません^^;

    テキストファイルをテーブルにリンクさせたいのですが、 拡張子を「txt」ではうまくいくのですが、拡張子を「pl」にかえるとエラーが発生します。 エラーの内容は 「データベースまたはオブジェクトは読み取り専用なので、更新できません」「エラーが発生しました。ファイルはリンクされませんでした。」です。 拡張子は今までのシステム上、できれば「pl」にしておきたいのです。 今回このエラーが発生したのは、新規に購入したwin2000のノートパソです。同じことを今まで使用していたwin95のデスクトップで行うと、拡張子「pl」のままでもうまくリンクできます。 どちらもアクセス2000です。。 すいませんがよろしく御願いします。。

  • ファイルをコピーしたときのデフォルトのファイル名を変更したい

    windowsで同一フォルダ内にファイルをコピーすると、「コピー ~ *.*」というファイル名で複製されますが、この自動付与される接頭語区を変更することはできるのでしょうか。 具体的には、「テキスト.txt」を複数コピーした場合 「テキスト ~ コピー.txt」 「テキスト ~ コピー2.txt」 「テキスト ~ コピー3.txt」 というように、ファイル名の後半に付くように変更したいです。 よろしくお願い申し上げます。

  • ネットワーク上のファイルのコピー

    ネットワーク上のファイルをローカルにコピーする為に FileCopy("\\cp1\D$\aaa\a.txt", "d:\b.txt") を実行したところ ファイル名または番号が不正です(エラー52) が出てしまいます ネットワーク上のPCとユーザとパスワードが違うのでログインでエラーになっているのですが ネットワーク上のPCにユーザを登録するのではなく ユーザ名とパスワードを指定してログインしてから ファイルをコピーする方法はありますでしょうか?

  • 複数のテキストファイルを1つにまとめる

    同一フォルダ内にある複数のテキストファイルの内容を1つにまとめる方法を探しております。 例えば、 a.txt, b.txt, c.txt が同一フォルダにあり、 それぞれの内容が AAA BBB CCC である時に、これらをまとめて matome.txtとして、その内容が AAA BBB CCC となるようなプログラムを書きたいのですが、どの様な方法が考えられますでしょうか。 上の例では3つのテキストファイルですが、実際に処理したいファイルは数百個になる為、一つ一つファイル名を入力する作業が大変で困っております。 同一フォルダ内のファイルをファイル名順に一度に読み込み、まとめる方法がありましたらお教え下さい。

  • テキストファイルについて

    拡張子にtxtのついたものは基本的にプレーンテキストだと認識していますが正しいでしょうか?しかしながら、ウインドウズのメモ帳のみならず、TeraPadのようなよりプログラミングのソースコードを記述するのに適していると言われるエディタでさえもフォント設定のメニューがあります。 ワープロではないいわゆるテキストエディタと言われるものにもこうしたフォントのメニューがあるということは、「txt」という拡張子を持つファイルはプレーンテキストだがそれをエディタで表示する際、エディタがフォントと呼ばれるものを付加しているのだと自分は思っていますが、「txt」拡張子のついたいわゆるプレーンテキストファイルというものであっても、再びそれらのファイルがエディタに読み込まれた時に作成時に設定したフォントが呼び出されるような最低限の情報が「txt」の拡張子のテキストファイルも持っているということでしょうか?そう考えると、フォント情報の全くない完全なプレーンテキストというものが本当に実在するのかよく分からないのですが・・・。「txt」拡張子付きのファイルはやはり何のフォント情報も持たないプレーンテキストであり、プレーンテキストにはそうしたフォントに関する情報は一切付与されておらず、エディタというソフトがそのテキストファイルのフォントに関する情報を覚えていて再び読み込んだとき前のテキスト表示が再現できるといった感じでしょうか?それでも最低限ソースコードを書いた時のフォント情報に繋がる最低限のデータはプレーンテキストというものも持っているのでしょうか? それともそうしたプレーンテキストとフォントの接続はOSがそうした働きをするのでしょうか?そのあたりの仕組みについてよく分かりません。

  • テキストファイルからの読み込みについて

    度々の登場です。 外部テキストファイル内に ErrorMessage.txt ○○のエラーが発生しました △△のエラーが発生しました ■■のエラーが発生しました ・ ・ ・ ☆☆のエラーが発生しました --------------------------- と、そのプログラム内で発生する可能性のあるエラーメッセージを格納しておきます。 プログラム内で■■のエラーが発生したとします。 class Test{ public static void main(String[] args){ ・ ・ try{ ○○ }catch{ } try{ △△ }catch{ } try{ ■■ }catch{ } ・ ・ ・ try{ ☆☆ }catch{ } } } このとき 発生したエラーメッセージの内容をErrorMessage.txtから取得するにはどうしたらよいのですか? どうか、宜しくお願い致します。

    • ベストアンサー
    • Java
  • テキストドキュメントを開けないのですが。

     テキストドキュメント(メモ帳)が開けなくて困っています。  プログラムから開く→WordPadで開くと内容は変っていないのですが。  テキストドキュメントを開こうとダブルクリックすると○○.tmp というTMP ファイルが作成されます。  そのTMP ファイルを極窓で拡張子の判別をするとexeファイルのようです。  どなたかわかる方、よろしくお願いいたします。

  • PSV形式ファイルをAccessにインポートしたい

    いつも楽しく勉強させていただいております。 Access2013を使っています。 やりたいことはこのAccessにPSV形式(","の代わりに"|"で区切られている)のファイルをインポートしたいのですが、うまくいきません。 [外部データ]-[テキストファイル]-[参照]で開くダイアログボックスで拡張子.psvのファイル名を指定すると下記のエラーとなります。 "次の拡張子がないテキストファイルはインポートできません。txt,csv,tab,asc,tmp,htm,html,log" つまり拡張子がいけないようです。 ファイルの拡張子を.csvに変更してインポートするとうまく取り込めるときと"インデックスが有効範囲にありません"のエラーになるときがあります。 うまくいったときにインポートの定義を保存しようとしましたが、できませんでした。 当面の逃げ道としては、"|"を","に変更し、拡張子を.csvにして保存したファイルを取り込んでいます。 それでもいいのですが、何かスマートな解決法はないものでしょうか。

  • テキストファイルからの読み込みについて

    またまた困っております。 下記の様な場合はどうなるのでしょうか? class Test{ public Static void main(String[] args){   ・  ・ try{ 処理内容A    処理内容B 処理内容C    処理内容D  }catch{ メソッドの呼び出し }   ・   ・   ・ } ------------------------ class Error{ 処理内容Aのcatch定義    処理内容Bのcatch定義 処理内容Cのcatch定義    処理内容Dのcatch定義 } -------------------------- Error.txt 処理内容Aのエラーメッセージ 処理内容Bのエラーメッセージ 処理内容Cのエラーメッセージ 処理内容Dのエラーメッセージ ------------------------------ のように、Testクラス内の処理を別のクラスで行い(Testクラスではその処理のメソッドを呼び出す)、例外内容に付いてもErrorクラスで定義し、エラーの表示内容をError.txtの様な外部ファイルに格納しておいた時に、 Testクラス内で「処理内容B」でエラーが発生した場合、Errorクラスで対応したエラー(処理内容Bのcatch定義)処理を行うのですが、Error.txtから「処理内容Bのエラーメッセージ」を拾い出してくるにはどうしたらよいのですか? 長くなり分かり難いかもしれませんが、宜しくお願い致します。

    • ベストアンサー
    • Java
  • テキストを参照としたPerlによる名前の変更

    よろしくお願いします。ディレクトリ内のファイル名をテキストデータを参照として変更したいと思っております。まず、以下の参照テキストがあります。 sansyo.txt 1,2,1 2,3,1 3,4,2 4,5,3 6,7,9 ・ ・ ・ ・ このファイルを利用してディレクトリ内のファイルを以下のようにリネームします。 1,2.txt → 1,2,1.txt 2,3.txt → 2,3,1.txt 3,4.txt → 3,4,2.txt 4,5.txt → 4,5,3.txt 6,7.txt → 6,7,9.txt ・ ・ ・ ・ ・ ここで私は以下のプログラムを作成しました。 sansyo.pl ------------------------------ use strict; use warnings; my $dirname = '.'; opendir(DIR, $dirname) or die "$dirname: $!"; while (my $dir = readdir(DIR)) { next unless (-f $dir); next unless ($dir =~ /\.txt$/); print $dir, "\n"; open(FILE, $dir) or die "$dir: $!"; open(FILE2,"sansyo.txt"); my @file = <FILE>; my @file2 = <FILE2>; close(FILE); close(FILE2); foreach my $line2 (@file2) { my ($a,$b,$c) = split(/,/, $line2); if ($dir == $a.",".$b.".txt"){ rename ($dir, $a.",".$b.",".$c.".txt"); } } } closedir(DIR); 内容は、FILE2にsansyo.txtをforeachで1行ずつ読み込んでいき、 $a,$b.txtというファイルが$dirに読み込んだファイルにあったら、 $a,$b,$c.txtというファイルにリネームするという内容です。 ですが、いろいろ試行錯誤したもののうまくいきません。 具体的には、 Argument "1,2.txt" isn't numeric in numeric eq (==) at sansyo.pl line 23. とエラーがでて if ($dir == $a.",".$b.".txt"){ この部分でエラーが発生しているようです。 どなたか解決方法をよろしくお願いします。

    • ベストアンサー
    • Perl

専門家に質問してみよう