I'm trying to use the FileMove function to rename a bunch of text files.
Some of the files have "_1" at the end of their name, for example, "File123_1.txt". I want to remove the "_1" so it would become "File123.txt".
What I currently have...
FileMove($sSource & "\*_1.txt", $sDestination & "\*.txt")
But since I'm using a wildcard, it doesn't appear to be working. I think it's just replacing .txt with .txt. Am I going about this the wrong way? How can I use wildcards and still accomplish this?
Any help is greatly appreciated ^__^
from the DirMove page we have:
I'm facing exactly the same issue and I need a simplest way to fix it. Could somebody take look at this code:
Func _Extract_MoveMod($p_Dir) Local $Success=0 $Files=_FileSearch($g_GameDir & '\' & $p_Dir, '*') For $f=1 to $Files If StringInStr(FileGetAttrib($g_GameDir & '\' & $p_Dir & '\' & $Files[$f]), "D") Then $Success = DirMove($g_GameDir & '\' & $p_Dir & '\' & $Files[$f], $g_GameDir, 1) Else $Success = FileMove($g_GameDir & '\' & $p_Dir & '\' & $Files[$f], $g_GameDir & '\', 1) EndIf If $Success = 0 Then Return 0 Next $Success = DirRemove($g_GameDir & '\' & $p_Dir, 1) Return $Success EndFunc ;==>_Extract_MoveMod and tell me how I can fix this inside that function?
P.S. Why DirMove act such way is beyond my reason, especially as default and there is no flag to change it.
I want to move the content of D:\downloads to D:\pictures in my program. I found DirMove, but that causes problems...
Func Move($dest) DirMove("D:\downloads\", "D:\pictures\ABC\" & $dest) DirCreate("D:\downloads") EndFunc In a prior program exactly this piece of code did the job always properly, but now not anymore. The source path stays untouched, and a destination folder is created but empty.
I don't have a clue why it doesn't work anymore now. I've checked it dozens of times, read the article about DirMove, tried it with dozens of different combinations, but none lead to the result. I want the content of D:\downloads in D:\pictures\ABC without having another downloads folder within the destination folder or anything else... Thanks!
D:\downloads\cute_kitten.jpg should be D:\pictures\ABC\cute_kitten.jpg afterwards.
As a newby i need some help.
I am trying to add time stamps to file names.
But it has to do it only once. So i made a check on lenght of filename.
If filename extention and Lenght is correct it renames the file with a time stamp.
I use a ini file for settings. and extentions what needs to be renamed.
The script works but only once.
it renames all the files that are in the ini . like test.txt to text050102.txt
But when there is 2 files. Like test.txt and text050102.txt
It does not rename the test.txt file
where am i doing this wrong?
#include <Array.au3> #include <File.au3> #include <MsgBoxConstants.au3> #include <WinAPIFiles.au3> $path = IniRead("RenameFiles.ini","General","InputFolder","Error") $TimeOption = IniRead("RenameFiles.ini","General","TimeOption","Error") Local $aArray = iniReadSection("RenameFiles.ini","EXT") For $i = 1 To $aArray $search01 = FileFindFirstFile($path&"*"&$aArray[$i]) If $aArray="" Then MsgBox(0,"Error","Check RenameFiles.ini","","") Exit EndIf While 1 $File = FileFindNextFile($search01) $StringLenght= StringLen ($File) if $StringLenght= $aArray[$i] Then $FileSplit= StringSplit($File,".") $Time=FileGetTime ( $File ,$TimeOption ,0 ) If @error Then ExitLoop FileMove($path & $File, $path & $FileSplit & $Time & $Time & $Time & $aArray[$i], 0) Else ExitLoop EndIf WEnd FileClose($search01) next Ini file looks like:
[General] ;Enter folder where the files are located: ;Example C:\test\ InputFolder=C:\FileRename\ ;Enter the option you want to use, for timestamp ;0 = Last modified (default) ;1 = Created ;2 = Last accessed TimeOption=0 ;Enter Files extensions that needs a timestamp. ;FileExtention=FileNameLenght (characters) ;Example .TRX.MAU (Dont forget the leading point) ;FileNameLenght = how many characters the filename contains. Including "." ;If filename is longer or shorter it wil not rename the file. ;Example TR150730.TRX.MAU = 16 characters. [EXT] .txt=8 .log=8
Where is the error?
; DIRMOVE? $sDestination = "C:\Destination" $sName = "Folder" $sSource = @DesktopDir & "\" & $sName DirCreate($sDestination) DirCreate($sSource) Sleep(2000) ; Just for test DirMove($sSource, $sDestination) If @error = 0 Then ConsoleWrite("ERROR")
I see both folder, but $sSource don't move to $sDestination...
DirMove return 0