• ベストアンサー

WSHを使ってファイルの作成日を変更できますか?

WSH(Windows Script Host)を利用した処理についてですが、ある特定のファイルをコピーした後、そのコピーされたファイルの作成日を任意の日時に変更できるようにしたいと考えています。 日付の取得は可能なのですが、日付の変更も可能でしょうか? (WindowsXPを想定しています)

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

  • ベストアンサー
  • ham_kamo
  • ベストアンサー率55% (659/1197)
回答No.1

FilesystemObjectを使ってできそうかな、と思って調べてみたのですが、どうも値の取得しか無理みたいですね。 http://www1.u-netsurf.ne.jp/~tomo_c/tips/WSH003.html#WSH024 より、 WSH.024 ファイルのサイズや作成日を調査する src.DateLastModified ファイルが最後に変更されたときの日時を返す。変更はできない だそうです。 UNIXではtouchコマンドでファイルやディレクトリの日付を変更できますが、探してみたらWin用のtouchもあるようです。(cygwinをインストールしてもいいですが) http://www.vector.co.jp/soft/win95/util/se360810.html このコマンドをWSHから実行すれば、日付を変更できるのではないでしょうか。

kr1623
質問者

補足

ご回答ありがとうございました。 WSHだけでは日付変更できないようですね。 touchコマンドで対応できるか検討してみます。

関連するQ&A

  • HTAとWSHを使った処理を作成したい。

    HTAとWSHを使った処理を作成したい。 HTAとWSHを使って次の様な処理を作成したいです。 (1)HTA側でプルダウンからドライブ(CドライブやDドライブ)を選択させWSHへ引渡す (2)WSH側では特定のファイルを受け取ったドライブへコピーする ・・・といった処理です。(初心者のため分からず悩んでます。) (1)(2)を実現するため、どういうソースをそれぞれに記述すればよいのでしょうか? お詳しい方どなたかよろしくお願い致します。

  • 作成したWSHがVistaのUACに阻まれる

    はじめまして。 以下の処理を行うWSHを作成しているのですが、うまくいきません。色々Webも調べたのですが解決策が見あたらないためどなたかご教授いただければ幸いです。詳細は以下です。 ■作成したいWSHの詳細 1. hostsファイルに特定の内容を追記する 2. 作成済みのバッチファイルを「AllUsersのスタートアップ」フォルダにコピーする 3. Windows2000、XP、Vista で実行して同じ結果が得られるようにする 4. VistaでUACが有効な状態でも動作するようにする 上記の条件1,2,3はクリアできたのですが条件4だけどうしてもクリアできません。下記ページにてスクリプト中に管理者権限に昇格する方法を 見つけ早速実行したところ、hostsファイルの書き換えはできるようになったものの、「AllUsersのスタートアップ」フォルダへのコピーに失敗してしまいます。  ◆参考ページ  http://ebi.dyndns.biz/diary/20080813.html ちなみに「ファイルが見つかりません」というエラーが表示されます。ただ、UACを無効にした状態でVBSファイルを実行するとコピーは成功するので構文は間違っていないと考えております。UACを有効にした状態で、「AllUsersのスタートアップ」フォルダにファイルをコピーするにはどのようにしたらよろしいのでしょうか。どなたか助けていただければ幸いです。よろしくお願いします。

  • WSHでファイルとフォルダのコピーをしたい

    こんにちは。 OSはWindows2000,WSHは5.6を使用しています。 WSH(VBScript)で、同一PC内にあるローカルユーザー「suzuki」のマイドキュメントにある全てのファイル、 フォルダ(サブフォルダ)を「takada」に複写したい のですが、最初はコピーできるのですが、2度目以降、 は既に存在しているのでコピーできません(エラーと なります)。 (スクリプトが分からないので)存在チェックはしており ませんが、どのようにコーディングすればよろしいでしょ うか? どうぞよろしくお願いいたします。

  • WSH(Windows Script Host)のデバックはどの様にするのですが。?

    WSH(Windows Script Host)をデバックしたいのでいろいろ調べて Micrsoft Script Debaggerをインストールしました。 そして、コマンドプロンプトでstop行入りのhoge.vbsに対して、 「cscript.exe //X C:\hoge.vbs」及び「wscript.exe //X C:\hoge.vbs」を 実効しましたがデバッガは起動しませんでした。 (Micrsoft Script Debaggerの単独起動は確認済み) 他の方法でも結構ですので、皆さんのWSH(Windows Script Host)のデバックの 仕方を教えて下さい。 では、宜しくお願いします。

  • [WSH] ファイルのコピーができない

    こんにちは。 次のようなスクリプトでFTPフォルダにファイルをコピーしようとしたのですが、カレントフォルダにファイルがコピーされてしまうようです。 どうすれば、FTPフォルダにファイルをコピーできるのでしょうか? var objShell = WScript.CreateObject("Shell.Application"); var objFolder = objShell.NameSpace("ftp://user:password@sitename/directory/"); objFolder.CopyHere("C:\\WINNT\\win.ini"); WScript.Sleep(6000); ※下記のページを参考にさせていただき作成しました。http://homepage3.nifty.com/aya_js/wsh/wsh25.htm

  • ファイルの作成日を変更したい

    お世話になります WINDOWS-xpです ファイルの作成日を変更したいのですが 便利なフリーソフトを教えてください 宜しくお願い致します 具体的な変更は、 特定のフォルダ-内のファイルを 変更必要なものだけを、一括もしくは 1つづつ日付入力していくようなやりかたです

  • WSHスクリプトから動かしたEXCEL・VBAマクロでWSHスクリプトを停止する方法

    WSHスクリプトからEXCELファイルのVBAマクロを呼び出し実行させます。 このマクロ内ではif関数で設定している条件の真偽を判定しています。偽の場合、マクロは終了しEXCELファイルは一旦閉じられます。そして一定時間がたったら、WSHスクリプトのループ処理で再び同じマクロが開かれif関数で条件判定を行います。 もし、真の場合、マクロの設定処理の実行・終了とともにWSHのループ処理も終了させたいのですが、VBAマクロからそのマクロを実行させているWSHスクリプトを停止させることは可能でしょうか。

  • WSH

    こんにちわ WSHで以下のような処理は可能でしょうか。 複数のコンピュータのローカルデータを ファイルサーバに保存する。 Windows NT 4.0 workstationになります。 処理イメージ (1)それぞれのコンピュータ名を取得する。 (2)取得したコンピュータ名と同じディレクトリを ファイルサーバに作成する。 (3)自分と同じディレクトリに、ローカルデータを保存する。 よろしくお願いします。

  • ファイルの作成日時について

    職場で簡単なファイルのバックアップ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 **************************************** 以上、よろしくお願いします。  

  • WSHでテキストファイルを修正した後、更新日時について

    あるフォルダ下のテキストファイルについて、不要な内容を削除して、必要な内容だけを保存したいです。 ところで、ファイルの日付(更新日時)は元のままにしたいです。 上記作業は出来ますでしょうか? WSHのサンプルがあったら、お願いします。