Jump to content

Recommended Posts

Posted

Hello,

I'm running Win7x64. I'm trying to append the system date and time to a file name (e.g., FileName.txt changed to FileNameYYYYMMDDHrMinSec.txt or similar, but time must at least include Seconds). I've search the forum and did find code that looks like it should work, though I'm not getting a result. There are no error messages. I know the path is correct because the MsgBox is displayed with the file isn't there. I hope someone can review the below and let me know what I'm missing.  Thank You!

$sPath = @ScriptDir&"\"
$tCur = _Date_Time_GetSystemTime()

If FileExists($sPath & "test.txt") Then
    FileMove ($sPath & "test.txt" , $sPath & "test" & _Date_Time_SystemTimeToDateTimeStr($tCur) & ".txt")
Else
    MsgBox (0, "Error", "No file")
EndIf
Posted

@FrancescoDiMuro -- Thank you for the reply. I did write something similar to that during my testing, which does work. I was hoping to make my code Faster, Better, Stronger. If there's really no difference between the two options, I suppose I could go with the below. It would be nice to know, though, what I've done wrong in my original script.

$path = @ScriptDir&"\"

If FileExists ($path & "test.txt") Then
    FileMove ($path & "test.txt",$path & "test" & @YEAR & @MON & @MDAY & "_" & @HOUR & "." & @MIN & "." & @SEC & ".txt")  
Else
    MsgBox (0, "error", "no file")
EndIf

 

Posted

_Date_Time_SystemTimeToDateTimeStr returns a string of mm/dd/yyyy hh:mm:ss, you can't use : or / in a file name.

If I posted any code, assume that code was written using the latest release version unless stated otherwise. Also, if it doesn't work on XP I can't help with that because I don't have access to XP, and I'm not going to.
Give a programmer the correct code and he can do his work for a day. Teach a programmer to debug and he can do his work for a lifetime - by Chirag Gude
How to ask questions the smart way!

I hereby grant any person the right to use any code I post, that I am the original author of, on the autoitscript.com forums, unless I've specifically stated otherwise in the code or the thread post. If you do use my code all I ask, as a courtesy, is to make note of where you got it from.

Back up and restore Windows user files _Array.au3 - Modified array functions that include support for 2D arrays.  -  ColorChooser - An add-on for SciTE that pops up a color dialog so you can select and paste a color code into a script.  -  Customizable Splashscreen GUI w/Progress Bar - Create a custom "splash screen" GUI with a progress bar and custom label.  -  _FileGetProperty - Retrieve the properties of a file  -  SciTE Toolbar - A toolbar demo for use with the SciTE editor  -  GUIRegisterMsg demo - Demo script to show how to use the Windows messages to interact with controls and your GUI.  -   Latin Square password generator

Posted
1 minute ago, BasementDweller said:

It would be nice to know, though, what I've done wrong in my original script.

You should have done something like this:

#include <Date.au3>
#include <WindowsConstants.au3>

Global $sPath = @ScriptDir&"\"
Global $tCur = _Date_Time_GetSystemTime()

MsgBox($MB_ICONINFORMATION, "", $sPath & "test" & StringRegExpReplace(_Date_Time_SystemTimeToDateTimeStr($tCur), '[/ :]', '') & ".txt")

:)

Click here to see my signature:

Spoiler

ALWAYS GOOD TO READ:

 

  • 2 weeks later...
Posted

Another option with a bit more flexibility

#include <Date.au3>
#include <WindowsConstants.au3>

Global $sPath = @ScriptDir&"\"
Global $tCur = _Date_Time_GetSystemTime()

MsgBox($MB_ICONINFORMATION, "", $sPath & "test" & _WinAPI_GetDateFormat(0, $tCur, 0, 'MM-dd-yyyy_') & _WinAPI_GetTimeFormat(0, $tCur, 0, 'HHmmss') & ".txt")

 

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...