はじめまして。
VB.NET 2003で、ファイルサイズを指定してファイルを作成したいのですが、実現に四苦八苦しております。
現在、コマンドプロンプトのfsutil file createnewコマンドをVBからshell関数で呼び出すことで実現はできたのですが、
(1)Windows XP以上のOSにしかfsutilコマンドが対応していない。
⇒2000などで実現する方法を教えていただけないでしょうか?(fsutil.exeを2000にコピーする以外でお願いします。)
(2)fsutilコマンドでデスクトップ上のフォルダにファイルが作成できない。
⇒Dドライブには作成できるため、フォルダパスの権限の問題だと思うのですが、回避する方法が思いうかびません。
(デスクトップ上のフォルダは現行ログインユーザのDocument and Settings上のデスクトップなので、フォルダの権限を見ると書き込み可能になっているのですが、fsutilが独自の権限で動作しているもしくは、個人フォルダは他から参照できない設定にしていることが原因でしょうか?)
ご回答いただけると助かります。
よろしくお願いいたします。
No.2ベストアンサー
- 回答日時:
FileStreamとBinaryWriterでってことではダメでしょうか?
Dim fs as new FileStream( "ファイルパス", IO.FileMode.CreateNew Or IO.FileMode.Truncate)
Dim bw As New IO.BinaryWriter(fs)
Dim arByte() As Byte
' 10,000個の要素準備
ReDim arByte(9999)
bw.Write(arByte)
bw.Close()
fs.Close()
といった具合です
上書きされるのを防止するなら
先頭で
dim fsinfo = new IO.FileInfo("ファイルパス")
if fsinfo.Exists = false then Return
などの処理を追加しましょう
ご回答ありがとうございます。
shell(fsutil~)のようなあらかじめ用意されているライブラリがあればよかったのですが、やはり自前でプログラムするしかないみたいですね。
サンプルプログラムまで載せていただきありがとうございました。
No.1
- 回答日時:
Binaryモードでファイルをオープンするのじゃ駄目なんでしょうか・・・
例えば・・・
----------------------------------------
Dim fn As Integer = FreeFile()
Dim cnt As Integer
Dim b As Byte = 0
cnt = 4096
FileOpen(fn, "C:\file.dat", OpenMode.Binary)
Seek(fn, cnt)
FilePut(fn, b)
FileClose(fn)
--------------------------------
#ファイルが存在する場合の処理は入れてません。
ご回答ありがとうございます。
質問後、いろいろと調べてみましたが、やはりプログラムするしかないみたいですね…
サンプルプログラムまで載せていただきありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Windows 10 外部ドライブにマウントできない問題について 9 2022/03/22 18:08
- その他(プログラミング・Web制作) Pythonの作業環境・作業フォルダの迅速な設定・指定方法 3 2022/04/01 07:55
- Visual Basic(VBA) エクセルのマクロについて教えてください 物件ごとのフォルダを作成してます そのフォルダ内にサブフォル 2 2023/07/02 17:58
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2023/08/08 11:02
- その他(開発・運用・管理) WindowsからSSHでサーバーにあるファイルをダウンロードできない…。 3 2022/04/24 11:08
- その他(プログラミング・Web制作) DOSコマンドに詳しい方、お知恵をお貸しください 5 2022/11/04 20:55
- Excel(エクセル) エクセルのマクロについて教えてください。 2 2023/02/21 13:29
- その他(プログラミング・Web制作) IT初心者です 仕事で、vb.netで作成されたdllをvbaで呼び出すプログラムを作成しろと言われ 1 2023/03/27 08:22
- UNIX・Linux Ubuntu でinvalid filenameとなるファイルをコピーする方法 3 2023/06/08 22:26
- Visual Basic(VBA) VBA★PDFをPDFアプリで印刷しようと思っていますが上手くゆきません 1 2022/06/06 22:04
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Windows10でコマンドプロンプト...
-
ファイル名と同名のフォルダを...
-
Excel VBA 同じ名前のフォルダ...
-
同一フォルダ内の別ブックから...
-
VBA フォルダ名に特定の文字を...
-
【マクロ】ファイル名の日付に...
-
ディレクトリ名変更してコピー...
-
VBA 最新のフォルダ取得
-
Downloaded Program Filesはど...
-
デスクトップの画像をhtmlに表...
-
Access VBA で フォルダ権限...
-
保存先のフォルダ名を指定した...
-
VBA フォルダの複数選択ができない
-
Hitachi Embedded Workshop (HE...
-
エクセルのマクロについて教え...
-
エクセルで、マクロを使わずに...
-
VS2005で"定義へ移動"ができません
-
多量のファイルをフォルダに自...
-
ファイル名を取得し、ログファ...
-
Dreamweaverでイメージを挿入す...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Windows10でコマンドプロンプト...
-
パス名に2バイト文字(マルチバ...
-
ファイル名と同名のフォルダを...
-
VBA 最新のフォルダ取得
-
Excelのハイパーリンクについて...
-
デスクトップの画像をhtmlに表...
-
ディレクトリ名変更してコピー...
-
VBA フォルダ名に特定の文字を...
-
バッチファイルで指定フォルダ...
-
フォルダ内のPDFファイル名を変...
-
Access VBA で フォルダ権限...
-
excelマクロ 冒頭3文字が一致す...
-
【マクロ】ファイル名の日付に...
-
フォルダにリンクを貼りたい
-
会社のネットワーク上のファイ...
-
多量のファイルをフォルダに自...
-
C ファイル出力で、フォルダが...
-
保存先のフォルダ名を指定した...
-
vbsで選択ダイアログを表示した...
-
Excel VBA 同じ名前のフォルダ...
おすすめ情報