BasementDweller Posted March 8, 2019 Posted March 8, 2019 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
FrancescoDiMuro Posted March 8, 2019 Posted March 8, 2019 (edited) @BasementDweller ConsoleWrite("File_" & @YEAR & @MON & @MDAY & @HOUR & @MIN & @SEC & ".txt" & @CRLF) Edited March 8, 2019 by FrancescoDiMuro Click here to see my signature: Spoiler ALWAYS GOOD TO READ: Forum Rules Forum Etiquette
BasementDweller Posted March 8, 2019 Author Posted March 8, 2019 @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
BrewManNH Posted March 8, 2019 Posted March 8, 2019 _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 GudeHow 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
FrancescoDiMuro Posted March 8, 2019 Posted March 8, 2019 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: Forum Rules Forum Etiquette
BasementDweller Posted March 8, 2019 Author Posted March 8, 2019 Quite informative answers. Much appreciated. Thank you both!
Bilgus Posted March 18, 2019 Posted March 18, 2019 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")
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now