• ベストアンサー

[vbScript]ファイルの日付

任意のファイルの作成日付を取得するまでは下記の記述でできたのですが、「YYYY/MM/DD hh:mm:ss」で取得します。 --------------------------- Set fso = CreateObject("Scripting.FileSystemObject") Set src = fso.Getfile(ckFile) WScript.Echo src.DateCreated --------------------------- YYYYMMDD形式で取得したい場合は、どうすればよいでしょうか?

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

  • ベストアンサー
  • Kuppycat
  • ベストアンサー率50% (109/216)
回答No.1

right("0000" & Year(src.DateCreated),4) & right("00" & Month(src.DateCreated),2) & right("00" & Day(src.DateCreated),2) でどうでしょう? もっとよいやり方があるかもしれませんが、自分の知識ではここまでヾ(;´▽`A``

casval
質問者

お礼

できました! ありがとうございました。

関連するQ&A

  • [VBScript]ファイルの削除

    ファイルの削除を行うために以下のように書いて実行したところ。 「Microsoft VBScript 実行時エラー '800a0046' - 書き込みできません。」 というエラーメッセージがでてしまいました。 ------------------------------- Set fso = CreateObject("Scripting.FileSystemObject") Set src = fso.GetFile(FileName.txt) src.Delete ------------------------------- ファイルのプロパティを見てもフルコントロールを許可していますし、実行者もAdmin権限です。 どこをチェックすればよろしいでしょうか? または、どのようにコーディングすればよいでしょうか?

  • ファイルシステムオブジェクトのメソッドについて

    こんにちは、皆さん。 以下のプログラムでコピーしようとしたら、 オブジェクトがメソッド、プロパティをサポートしてないという メッセージが表示されてしまいました。 Set fso = CreateObject("Scripting.FileSystemObject") fso.CopyFile "c:\aaa.txt", "c:\temp\" Set fso = CreateObject("Scripting.FileSystemObject") Set src = fso.GetFile("c:\aaa.txt") fso.Copy "c:\temp\" こういった場合、どんなメソッドがあるか確認するには どうしたらよいでしょうか? また、ファイルをコピーするにはどうしたらよいでしょうか? よろしくお願いします。

  • バッチファイル 時間指定

    バッチファイルをスタートアップに入れています。 手軽で便利なのですが、起動するたびに出てしまうので、if文か何かを使って、前回の実行してから12時間経っていない場合はバッチファイルを終了させるようにできないでしょうか。 robocopyを使ったバッチで、オプションでログを作成するようにしています。そのテキストファイルの作成時間で12時間経っているかどうか判断できればと思っています。 と質問したところ、以下の回答を得ました。 check.vbs ------------------------- Set fso = CreateObject("Scripting.FileSystemObject") Set f = fso.GetFile("logfile.txt") WScript.Quit(DateDiff("h",f.DateCreated,Now)>12) ------------------------- バッチでは、先頭で、 cscript check.vbs || exit これを追加したのですが、12時間経っていなくても実行されます。 なぜなのでしょうか。

  • テキストファイルに一行文字を追加したい

    バッチ処理でテキストファイルの最後に文字列を追加する作業をやりたいのです。 普通の文字列ですと、1)のようにして上手くいきます。 ところが「"」の入った文字列を一行加えようと2)のようにすると、エラーになってしまいます。どうしたら前に進めるでしょうか? --------- 1)上手くいくケース ----------- Set fso = CreateObject("Scripting.FileSystemObject") Set tmpFile = fso.GetFile("C:\test\hoge.txt") Set f = tmpFile.OpenAsTextStream(8, -2) f.Write("一行追加しました") f.close Set f = Nothing Set tmpFile = Nothing Set fso = Nothing --------- 2)上手くいかないケース ----------- Set fso = CreateObject("Scripting.FileSystemObject") Set tmpFile = fso.GetFile("C:\test\hoge.txt") Set f = tmpFile.OpenAsTextStream(8, -2) f.Write("一行"追加"しました") f.close Set f = Nothing Set tmpFile = Nothing Set fso = Nothing

  • Vbscriptに詳しいかたがいらっしゃるならぜひ教えてください!

    以下のコードなんですが なぜかwindows2000では何回実行しても 圧縮ファイルができあがりますが windows2003では いつも空のzipファイルが作られてしまいますけど Vbscriptに詳しいかたがいらっしゃるなら ご教授願います。 Dim fso Dim wShell Dim sourceFolderPath Dim sourceFilePath Dim targetFolderPath Dim Shell Dim ie Dim file Dim d Dim sourceFile Dim zipfile Dim zip Dim dFolder Dim ZIPdata:ZIPdata="PK" & Chr(5) & Chr(6) & String(18,0) targetFolderPath="C:\job\VBS\zip\" sourceFilePath ="C:\job\VBS\新しいフォルダ\test1.txt" Set fso=CreateObject("Scripting.FileSystemObject") Set wShell=CreateObject("WScript.Shell") CreateObject("WScript.Shell").Run "explorer.exe",0,True WScript.Sleep 100 Set Shell=CreateObject("Shell.Application") For Each ie In Shell.Windows If Not ie.Busy and ie.ReadyState=4 and InStr(TypeName(ie.Document),"IShellFolderViewDual")=1 Then exit for end if next Set Shell=ie.Document.Application 'set sourceFolder = fso.GetFolder(sourceFolderPath) set sourceFile = fso.GetFile(sourceFilePath) set targetFolder = fso.GetFolder(targetFolderPath) set sourceFile = fso.GetFile(sourceFilePath) d = sourceFile.DateLastModified zipfile=targetFolderPath & "¥" & Year(d) & "-" & Month(d) & "-" & Day(d) & " " & sourceFile.Name & ".zip" fso.CreateTextFile(zipfile).write ZIPdata Set dFolder=Shell.NameSpace(zipfile) Set Folder=Shell.NameSpace(sourceFile.ParentFolder.Path) Set FolderItem=Folder.ParseName(sourceFile.Name) dFolder.CopyHere FolderItem,&H10

  • VBScriptでファイル検索

    こんにちは。 Dドライブのどこかにある「あいうえお.xls」ファイルのパス をメッセージ表示するようなスクリプトを作りましたが、上手 く表示されません。どこに不具合があるのか、ご教授ください。 お願いいたします。 Option Explicit Dim FSO,File,SubFolder Set FSO = CreateObject("Scripting.FileSystemObject") ShowSubfolders FSO.GetFolder("D:\") Sub ShowSubFolders(Folder) For Each File in Folder.Files If File.Name = "あいうえお.xls" then      Wscript.Echo File.path End If Next For Each Subfolder in Folder.SubFolders ShowSubFolders Subfolder Next Set FSO = Nothing End Sub

  • VBScriptで、任意のフォルダコレクションを取得するには?

    VBScriptについて質問します(マイナーですみません) 任意のフォルダコレクションを取得して、 そのフォルダ名を1つ1つ得たいんですが、 うまくいきません。 FileSystemObjectを作成して、 任意のフォルダ(MyFolder)を取得することはできました。 Set fso=CreateObject("Scripting.FileSystemObject") Set f=fso.GetFolder("C:/....../デスクトップ/MyFolder") いま、MyFolder の下に、複数のサブフォルダがあるとき、 サブフォルダのコレクションを取得して、 サブフォルダ名を1つ1つ得るには、 どうしたらいいのでしょうか? よろしくおねがいします。

  • 10分おきに自動でバックアップファイルを作成する

    エクセルファイルで 「10分おきに自動でバックアップファイルを作成する」 ということは可能ですか? Sub バックアップ作成() Dim myFSO As Object Dim MyFile As Object Dim WSH As Variant Dim strdate As String Set myFSO = CreateObject("Scripting.FileSystemObject") Set WSH = CreateObject("Wscript.Shell") strdate = Format(Now, "yyyy年mm月dd日hh時mm分") myFSO.CopyFile ActiveWorkbook.FullName, "D:\backup\" & strdate & ".xlsm" Set MyFile = Nothing Set myFSO = Nothing Set WSH = Nothing End Sub これでバックアップは作成できるのですが 「10おきに」というのはどうすればいいのでしょうか?

  • 日付をVARCHAR2型でYYYYMMDDと表示したい

    DATE型(YYYY/MM/DD HH24:MI:SS)の値を取り出し、 VARCHAR2(8)型の文字列YYYYMMDDにしたいと思っています。 TO_CHAR(DATE型,'YYYYMMDD')としても、YY-MM-DDと表示されてしまいます。 YYYYMMDDと文字型で表示させるにはどうすればよいのでしょうか。 宜しくお願い致します。

  • VBSでテキストファイルを作成

    こんにちは。 set fso = createobject("Scripting.FileSystemObject") fso.createfolder("倉庫") を実行すると、実行したスクリプトが存在する場所に「倉庫」という名のフォルダが作成されます。 その倉庫というフォルダの中にテキストファイルを作成するにはどうすればよいでしょうか? set fso = createobject("Scripting.FileSystemObject") fso.createfolder("倉庫") set fo = fso.opentextfile(FILENAME) close.fo 相対的にファイルの場所を指定する方法がわかりません。 絶対パスでないとだめなのでしょうか?

専門家に質問してみよう