# Change File Name

## Recommended Posts

Hey all

So I was trying to change a file name using FileMove, but it didn't work for me.

(Maybe I just didn't use it in the right way?)

Is there another way to change a file name?

Thank you!

##### Share on other sites

How do you call FileMove and what is the return value?

My UDFs and Tutorials:

Spoiler

UDFs:
Active Directory (NEW 2020-10-10 - Version 1.5.2.1) - Download - General Help & Support - Example Scripts - Wiki
OutlookEX (NEW 2020-12-15 - Version 1.6.3.1) - Download - General Help & Support - Example Scripts - Wiki
Outlook Tools (2019-07-22 - Version 0.6.0.0) - Download - General Help & Support - Wiki
ExcelChart (2017-07-21 - Version 0.4.0.1) - Download - General Help & Support - Example Scripts
PowerPoint (2017-06-06 - Version 0.0.5.0) - Download - General Help & Support
Excel - Example Scripts - Wiki
Word - Wiki

Tutorials:
ADO - Wiki, WebDriver - Wiki

##### Share on other sites

I've simply copied the line from the help file:

http://www.autoitscript.com/autoit3/docs/functions/FileMove.htm

FileMove("C:\foo.au3", "D:\mydir\bak.au3")

and all I did was just change the destination.

Sometimes it worked, sometimes it didn't.. Weird.

EDIT: It does work right now. Even weirder

However now I have another problem.

How do I use a variable in this code?

I need to change the files names and add a number to the beginning.

e.g:

a.txt --> 3a.txt

b.txt --> 3b.txt

I've tried something like this:

$num = 11 FileMove("C:\text.txt", "c:\" &$num & "text.txt")

But it didn't work of course..

Edited by Omga4000

##### Share on other sites

Change your code to do some error checking

$num = 11$iResult = FileMove("C:\text.txt", "c:\" & $num & "text.txt") MsgBox(0,"", "Result: " &$iResult)
Edited by water

My UDFs and Tutorials:

Spoiler

UDFs:
Active Directory (NEW 2020-10-10 - Version 1.5.2.1) - Download - General Help & Support - Example Scripts - Wiki
OutlookEX (NEW 2020-12-15 - Version 1.6.3.1) - Download - General Help & Support - Example Scripts - Wiki
Outlook Tools (2019-07-22 - Version 0.6.0.0) - Download - General Help & Support - Wiki
ExcelChart (2017-07-21 - Version 0.4.0.1) - Download - General Help & Support - Example Scripts
PowerPoint (2017-06-06 - Version 0.0.5.0) - Download - General Help & Support
Excel - Example Scripts - Wiki
Word - Wiki

Tutorials:
ADO - Wiki, WebDriver - Wiki

##### Share on other sites

Now I get it.. Thank you!

## Create an account

Register a new account

• ### Similar Content

• By TheSaint
I like and have been using TeraCopy, a third party program, for many years. Mostly it is a great program, but it does have some issues. On Windows XP for instance, Thumbs.db files could often hold up a copy or move process until the user manually responded to the error prompt. Some other issues I discuss below.
PLEASE NOTE - I am not related to or affiliated in any way with the 3rd party TeraCopy program developers.
ALSO NOTE - I myself have only tested TeraCopy Cure at this point, on Windows 7 (32 bit), and only with the free version of TeraCopy 2.27.
This program, TeraCopy Cure, is related to another one of my TeraCopy assistant programs, TeraCopy Timer, but aims at being simpler and quicker to use ... if lacking its more advanced features.
TeraCopy Cure is a frontend for TeraCopy and sets out to make up for its flaws and limitations.
One of those flaws is queuing order, and the limitation relates to a same destination issue.
You would think that queue order would be the same as add order, but that is not the case, and if you are doing a mix of COPY and MOVE then the COPY process could easily fail. It could fail with some source items, even if the  COPY process has already started before the same source MOVE process begins ... especially if the destination folder is on the source drive ... only the currently copying file is locked to that process.
If you drag and drop another source for a same destination as an existing or impending COPY or MOVE process, then usually TeraCopy nicely adds it for you to that existing job. However, you might wish to avoid that, or it might occur during the testing phase of that active process, and then not be properly processed etc. But you are not given a choice and it just gets added.

HOW TO USE
See the right-click menu of the 'Batch List' (lowest field) and the right-click menu of the Tree field, for some useful options.
(1) If desired, enable 'Auto Start'. NOTE - Even if enabled, this can be bypassed.
(2) Set the destination folder, either by browsing on the tree or by dragging a folder to the Destination input field or label. Right-clicking on a folder in Explorer will also work, if enabled. The destination folder path will also show in the Tree if that right-click option is enabled.
(3) Then drag & drop source file or folder onto one of three five areas - Folder (Drive) Tree field, or COPY or MOVE buttons ... this now also includes the source input and label.
NOTE - If the Folder (Drive) Tree field is used, then you will additionally need to click either the COPY or MOVE button, to have that job added to the Batch List ... but this avoids 'Auto Start' if it is enabled. Drag & dropping to the buttons instead, saves on clicking, but starts the first job etc immediately if 'Auto Start' is enabled.
(4) If needed and ready, click the START button to run the first job and those that follow.
More information is included in program and in the NOTES etc sections below.

WARNING - Depending on the amount of content on your destination drive, and folder level depth, and the speed of your PC, display of the full path in the Folder (Drive) Tree can take a while to show ... if you have that (right-click) option enabled ... it isn't by default. I found this feature quite tricky to get right, and I'm still not 100% sure it is now full-proof.
TeraCopy Cure v1.5.zip  (source is included)
TeraCopy Cure v1.6.zip  (source is included)
NOTES

• Hey.
Is there anything that does the same thing as this?

Namely I'm talking about detecting when something has changed on screen.
The FastFind library is crashing without any errors after running:
FFSnapShot($left,$top, $right,$bottom, 0) FFSnapShot($left,$top, $right,$bottom, 1) $diff = FFLocalizeChanges(0, 1) And then trying to overwritite the old snapshot (0 or 1). If I use always different snapshot numbers its using too much memory and will eventually crash my pc. I tried downloading older versions but they're not working and the author is inactive. It takes 2 snapshots and compares them returning the area that has changed very quickly (left, top, right ,bottom). Can anyone help me do this? Looping PixelGetColor would require a bunch of extra code to my purpose and its not as efficient... Thanks • By Zedna #include <WinAPI.au3>$text = FileReadLastChars("C:\Program Files\AutoIt3\Include\Array.au3", 1024) MsgBox(0, 'FileReadLastChars', $text) Func FileReadLastChars($sFile, $nChars) Local$nBytes     $tBuffer = DLLStructCreate("char["&$nChars&"]")     $hFile = _WinAPI_CreateFile($sFile, 2, 2) ; open for read     _WinAPI_SetFilePointer($hFile, -1 *$nChars, 2) ; from end     _WinAPI_ReadFile($hFile, DLLStructGetPtr($tBuffer), $nChars,$nBytes)     _WinAPI_CloseHandle($hFile) Return DLLStructGetData($tBuffer, 1) EndFunc ; included as standard UDF since AutoIt 3.2.13.6 version Func _WinAPI_SetFilePointer($hFile,$iPos, $iMethod = 0)$aResult = DllCall( "kernel32.dll", "long", "SetFilePointer", "hwnd", $hFile, "long",$iPos, "long_ptr", 0, "long", $iMethod) If @error Then Return SetError(1, 0, -1) If$aResult[0] = -1 Then Return SetError(2, 0, -1) ; $INVALID_SET_FILE_POINTER = -1 Return$aResult[0] EndFunc ;==>_WinAPI_SetFilePointer Here is my topic about _WinAPI_SetFilePointer()

EDIT: simpler version compatible with latest AutoIt
$text = FileReadLastChars("C:\Program Files\AutoIt3\Include\Array.au3", 1024) MsgBox(0, 'FileReadLastChars',$text) Func FileReadLastChars($sFile ,$nChars) $hFile = FileOpen($sFile, 0) ; open for read FileSetPos($hFile, -1 *$nChars, 2) ; from end $sRet = FileRead($hFile) FileClose($hFile) Return$sRet EndFunc

• good morning autoit team
am trying to make an program that work with hotkeys
it function is to change the volume to the current application
e.g when i select the vlc window by using this hotkey i will be able to change the vlc volume with out changing the system volume.
am able to get the process handle and the process name of the window
but when am trying to get or set the volume i does not succeded
i tried to search in this forums but no result.
can you please guide me to do that.

• hello autoit team
please i've a question for you.
am creating a audio player
and in this audio player i want to show the current trac info
such as the total time and the position ... etc
i know i can show it as label
but the screen reader for the blind read the text every change
because it have a screen scan
what i want is to show this informations but such image or icon
i mean i need to create
GUICtrlCreatepic or GUICtrlCreateicon ....
or some thing as that
and show this informations as image on it
i think that i can do that with the
_GDIPlus functions
but i couldn't find the currect way to do it
i tried the _GDIPlus_GraphicsDrawString
but i couldn't know how it work
what i need is a small example that create a GUI
and add a multy line text to it as graphic or image.
so i need a simple way because it will changed every sec
i hope any one can help me to do that
global $GUI = GUICreate("text", 400, 400) global$label = GUICtrlCreateLabel(GetText(), 10, 10, 380, 380) GUISetState() do sleep(100) until GUIGetMSG() = -3 exit func GetText() return StringFormat("file name is test.mp3 \r\n total time is 00:30:00 \r\n position is 00:05:50") endFunc
×

• Wiki

• Back

• #### Beta

• Git
• FAQ
• Our Picks
×
• Create New...