• ベストアンサー

ファイル名の取得

今までの質問で探しましたが、見つけれなかったので、質問します。ファイル名が32桁.拡張子で出来ているファイルが有ります。そのファイル名を取得し、他へコピーの歳別の名前にしたいのですが、上手く行きません。 長すぎる32桁の名前をどうすれば取得できますか 因みに*(アスタリスク)の使用では駄目でした。

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

  • ベストアンサー
  • yu_mitsui
  • ベストアンサー率100% (1/1)
回答No.5

VB.NETは使ったこと無いので間違ってるかもしれませんが、参考URLのサイトのでApp.Pathと同じことができるようです。 D:\deta\のフォルダから C:\deta\henkan\へのコピーということなら fs.CopyFile App.Path & "\" & f1.Name, App.Path & "\copy\" & f1.Name の部分を fs.CopyFile "D:\deta\" & f1.Name, "C:\deta\henkan\" & f1.Name でできると思いますが、構文などはVB.NET用に書き換えてください。

参考URL:
http://dobon.net/vb/dotnet/vb6/apppath.html
masaojisan
質問者

お礼

ありがとうございました ちょっと変更しましたが 良いヒントになりました

その他の回答 (4)

  • yu_mitsui
  • ベストアンサー率100% (1/1)
回答No.4

これでどうでしょう Option Explicit Private Sub Form_Load() Dim fs, f, f1, fc, s If Len(Dir$("copy", vbDirectory)) <= 0 Then MkDir$ "copy" Set fs = CreateObject("Scripting.FileSystemObject") Set f = fs.GetFolder(App.Path) Set fc = f.Files For Each f1 In fc If fs.GetExtensionName(App.Path & "\" & f1.Name) = "SP0" Then fs.CopyFile App.Path & "\" & f1.Name, App.Path & "\copy\" & f1.Name End If Next End Sub

masaojisan
質問者

お礼

ありがとうございます すみません、もう一点お願いできますか? VB.NETで App.Pathって使えますか? 今回 D:\detaのフォルダから C:\deta\henkan へのコピーです

noname#118114
noname#118114
回答No.3

FileCopy 旧ファイル名, 新ファイル名 で出来ませんか?

masaojisan
質問者

お礼

回答ありがとうございます あいにく出来ません。

masaojisan
質問者

補足

補足いたします 実際のファイル名は、0442 20050406021120990 00000018.SP0 というファイルです。 このファイルが出力される毎にファイル名は少しずつ変わりますが、部分だけで文字数等は変わりません。 一度試していただけませんか。このファイル名を取得することも出来ないので困っています。

  • taka_tetsu
  • ベストアンサー率65% (1020/1553)
回答No.2

どうやってファイル名を取得してるのですか? どうやってコピーしてるのですか? 32桁を超えないファイル名の場合は大丈夫なんですか?

  • Quattro99
  • ベストアンサー率32% (1034/3212)
回答No.1

ファイルを右クリックして「名前の変更」のところでコピー出来ませんか?

masaojisan
質問者

補足

Quattro99様 何か勘違いしていませんか? VBですよここは、なぜ右クリックって出てくるのでしょうか

関連するQ&A