職場で簡単なファイルのバックアップPGをWSHで作っていますが
ファイルの作成日時が思うように入ってくれません。
WSHの流れは下記にしたいと考えています。
(1)前回分のファイルを作成日時を末尾に付けてリネーム
(2)WSHからバッチを呼び出して、ファイル作成
(2)でファイルが作成はされるのですが、(1)の処理でリネームした
ファイルの作成日時(実行時間より古い時間)が入って作成されてしまい、(2)が実行された
日付が入ってくれません。
ちなみに、更新日時アクセス日時は(2)の実行時間が入ります。
環境は以下になります。
OS:Windows7Pro SP1
→この先WindowsSV 2008R2で実行させたいと考えています。
Windowの仕様なのか、どうなのか、わからないのですが
どなたか何か回避策をご存じの方がみえれば、ご教授をお願いいたします。
テストで作成したWSHとBatのソースを下記に貼り付けます。
WSH ***************************************
option explicit
'変数定義
Dim objFso
Dim objFile
Dim objWShell
'オブジェクトの生成
Set objFso = Wscript.CreateObject("Scripting.FileSystemObject")
Set objFile = objFso.GetFile("C:\testDir\File-A.txt")
'ファイル名変更
objFso.GetFile("C:\testDir\File-A.txt").Name = "File-B.txt"
'オブジェクト解放
Set objFile = Nothing
'bat実行
Set objWShell = CreateObject("WScript.Shell")
objWShell.Run "C:\testDir\echo.bat", 0, True
'batで作成したFile-Aのオブジェクト生成
Set objFile = objFso.GetFile("C:\testDir\File-A.txt")
'オブジェクト解放
Set objWShell = Nothing
Set objFile = Nothing
Set objFso = Nothing
WSH ***************************************
Bat ****************************************
echo AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA > C:\testDir\File-A.txt
Bat ****************************************
以上、よろしくお願いします。
No.2ベストアンサー
- 回答日時:
その方法での名前の変更はおかしくありませんか?
たとえばコマンドプロンプトでの Rename コマンドや
Windowsエクスプローラでの「名前の変更」では
ファイルの「作成日時」は当初の作成日時のままです。
たとえば添付画像の
DCサーボ.html ファイルは
Renameや「名前の変更」を行なっても作成日時に変化はありません。
> objFso.GetFile("C:\testDir\File-A.txt").Name = "File-B.txt"
の結果、Windowsエクスプローラで照会しても作成日時が更新されていますか?
この回答への補足
ご回答ありがとうございます。
私のご説明が足りておらず、すみません。
私が実現したいことは、作成日時を変更したいのではなく、
作成日時を取得してファイル名(ファイル名をFileAとして作成。)の末尾に作成日時を付け足して
リネームさせたいのですが、そもそも、ファイル(FileA)が作成されるときに付く
作成日時が過去日時が付いてしまうので、困っております。
説明が足りているか、わらりませんが、処理の流れを記載します。
1)FileAを作成
2)FileAを作成日時を取得リネーム
なので、ファイル名はこんな感じ→ FileA_20140411
3)別処理(バッチ)でFileAを作成 ※作成する場所は同じフォルダ上
※3)の処理で新しいFileAを作成するときに1)でリネームした古いFileAの作成日時が
何故か、入って新しいFileAが作成されてしまう。
サンプルで載せた、ソースを数回実行していただき、FIle-Bの作成日時をプロパティから
確認していただければ、現象がわかるかと思います。
よろしくお願いします。
No.1
- 回答日時:
DateCreated プロパティで確認してみてください。
echo "ファイル作成日付: " & objFile.DateCreated
この回答への補足
kteds様 ご回答ありがとうございます。
「echo "ファイル作成日付: " & objFile.DateCreated」入れて確認しましが、結果は同じでした。
DateLastModifiedも、DateLastAccessedも入れて確認しましたが、DateCreatedの日時のみ過去日付(リネームをかけたファイルの作成日時)が付いてました。
同一ファイル名でファイルを作ると、どうやら上記の動きをするようです。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) このVBAでExcelアプリケーションを作成は必要ですか? 3 2023/07/19 21:13
- Visual Basic(VBA) VBAが止まります。 2 2022/09/02 14:02
- Visual Basic(VBA) VBA This Workbookモジュールを別ファイルにコピーする方法 1 2022/09/14 01:51
- Excel(エクセル) Excel-VBAの「しばらくお待ちください」のダイアログが自動的に閉じない 2 2023/05/24 15:31
- Visual Basic(VBA) batからexeを実行し戻り値を受け取る バッチからEXEの結果を受け取りたいのですが、 下記のバッ 1 2023/07/04 15:13
- その他(プログラミング・Web制作) バッチファイルでPCのモデル名を取得したい 1 2022/03/31 10:58
- Visual Basic(VBA) エクセルのマクロを使ってメールを送る方法について教えてください 2 2022/03/29 01:36
- Visual Basic(VBA) vba メモリ節約 3 2022/09/16 21:45
- Visual Basic(VBA) VBAのユーザーフォームのテキストボックスに入力制限をしたい 6 2022/11/15 08:28
- Excel(エクセル) フォルダ内のワードファイルをPDFに一括変換するVBA 3 2023/06/09 16:51
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・【大喜利】【投稿~11/22】このサンタクロースは偽物だと気付いた理由とは?
- ・お風呂の温度、何℃にしてますか?
- ・とっておきの「まかない飯」を教えて下さい!
- ・2024年のうちにやっておきたいこと、ここで宣言しませんか?
- ・いけず言葉しりとり
- ・土曜の昼、学校帰りの昼メシの思い出
- ・忘れられない激○○料理
- ・あなたにとってのゴールデンタイムはいつですか?
- ・とっておきの「夜食」教えて下さい
- ・これまでで一番「情けなかったとき」はいつですか?
- ・プリン+醤油=ウニみたいな組み合わせメニューを教えて!
- ・タイムマシーンがあったら、過去と未来どちらに行く?
- ・遅刻の「言い訳」選手権
- ・好きな和訳タイトルを教えてください
- ・うちのカレーにはこれが入ってる!って食材ありますか?
- ・おすすめのモーニング・朝食メニューを教えて!
- ・「覚え間違い」を教えてください!
- ・とっておきの手土産を教えて
- ・「平成」を感じるもの
- ・秘密基地、どこに作った?
- ・【お題】NEW演歌
- ・カンパ〜イ!←最初の1杯目、なに頼む?
- ・一回も披露したことのない豆知識
- ・これ何て呼びますか
- ・初めて自分の家と他人の家が違う、と意識した時
- ・「これはヤバかったな」という遅刻エピソード
- ・これ何て呼びますか Part2
- ・許せない心理テスト
- ・この人頭いいなと思ったエピソード
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・好きなおでんの具材ドラフト会議しましょう
- ・餃子を食べるとき、何をつけますか?
- ・あなたの「必」の書き順を教えてください
- ・ギリギリ行けるお一人様のライン
- ・10代と話して驚いたこと
- ・大人になっても苦手な食べ物、ありますか?
- ・14歳の自分に衝撃の事実を告げてください
- ・家・車以外で、人生で一番奮発した買い物
- ・人生最悪の忘れ物
- ・あなたの習慣について教えてください!!
- ・都道府県穴埋めゲーム
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
シャットダウン時に自動ファイ...
-
バッチファイルで他のバッチフ...
-
別のPCをバッチファイルを使用...
-
NAS上のBATファイル実行
-
【VBA】写真の縦横比を変えずに...
-
Not kind:Folders
-
拡張子KIHを見るソフトって有り...
-
VB.net 任意の例外を発生させ...
-
System32内のファイルを書き換...
-
常に「すべての列のサイズを自...
-
ネットワーク経由の共有ファイ...
-
Ububtuでファイル共有できない...
-
VBAで、㉑という数値が、正しく...
-
ファイル並び順がバラバラで困...
-
タスクスケジューラで指定フォ...
-
貼り付けとショートカットの貼...
-
ファイル共有設定が解除される
-
スタートアップフォルダの場所...
-
検索したファイルの場所を調べ...
-
K-9 Mailの設定について
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
シャットダウン時に自動ファイ...
-
NAS上のBATファイル実行
-
バッチファイルで他のバッチフ...
-
システム環境変数の削除の自動...
-
バッチファイルでアクセス権無...
-
コマンドプロンプトでファイル...
-
ファイルの作成日時について
-
バッチファイルで実行できたり...
-
書き込み禁止動画ファイルの解...
-
batファイルからPCをシャットダ...
-
バッチの構成について
-
別のPCをバッチファイルを使用...
-
ファイル名を全て同じ名前にす...
-
batファイルの中身を確認する方法
-
ImageMagickでのバッチファイル...
-
コマンドプロンプトでファイル...
-
コマンドプロンプトにコメント...
-
Not kind:Folders
-
常に「すべての列のサイズを自...
-
【VBA】写真の縦横比を変えずに...
おすすめ情報