- ベストアンサー
ファイル名の取得
今までの質問で探しましたが、見つけれなかったので、質問します。ファイル名が32桁.拡張子で出来ているファイルが有ります。そのファイル名を取得し、他へコピーの歳別の名前にしたいのですが、上手く行きません。 長すぎる32桁の名前をどうすれば取得できますか 因みに*(アスタリスク)の使用では駄目でした。
- みんなの回答 (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用に書き換えてください。
その他の回答 (4)
- yu_mitsui
- ベストアンサー率100% (1/1)
これでどうでしょう 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
お礼
ありがとうございます すみません、もう一点お願いできますか? VB.NETで App.Pathって使えますか? 今回 D:\detaのフォルダから C:\deta\henkan へのコピーです
FileCopy 旧ファイル名, 新ファイル名 で出来ませんか?
お礼
回答ありがとうございます あいにく出来ません。
補足
補足いたします 実際のファイル名は、0442 20050406021120990 00000018.SP0 というファイルです。 このファイルが出力される毎にファイル名は少しずつ変わりますが、部分だけで文字数等は変わりません。 一度試していただけませんか。このファイル名を取得することも出来ないので困っています。
- taka_tetsu
- ベストアンサー率65% (1020/1553)
どうやってファイル名を取得してるのですか? どうやってコピーしてるのですか? 32桁を超えないファイル名の場合は大丈夫なんですか?
- Quattro99
- ベストアンサー率32% (1034/3212)
ファイルを右クリックして「名前の変更」のところでコピー出来ませんか?
補足
Quattro99様 何か勘違いしていませんか? VBですよここは、なぜ右クリックって出てくるのでしょうか
お礼
ありがとうございました ちょっと変更しましたが 良いヒントになりました