RenegadeXO Posted September 12, 2012 Share Posted September 12, 2012 FIrst of all, I am new to AutoIt and scripting in general. I can read some code but not and expert by know means. What I am needing, hopefully is simple. Scenario: I have two servers (old and new Listserv servers). On the old server I have several files that will need to be copied to the new server. The problem is the new server file structure is slightly different. Each file, on the old server, will need a Directory with the same name as the file on the new server. Example...(abc123.list (old server file) ---> ABC123\abc123.list on the new server. Hopefully there is an easy way to do this. If you notice, the directory name will need to also drop the extension. Link to comment Share on other sites More sharing options...
water Posted September 12, 2012 Share Posted September 12, 2012 Something like this: $sSourceFilename = "abc123.list" $sTargetDrive = "C:" $aTargetDirectory = StringSplit($sSourceFilename, ".") DirCreate($sTargetDrive & "" & $aTargetDirectory[1]) FileCopy($sSourceFilename, $sTargetDrive & "" & $aTargetDirectory[1] & "")What's missing is some error checking code. My UDFs and Tutorials: Spoiler UDFs: Active Directory (NEW 2024-07-28 - Version 1.6.3.0) - Download - General Help & Support - Example Scripts - Wiki ExcelChart (2017-07-21 - Version 0.4.0.1) - Download - General Help & Support - Example Scripts OutlookEX (2021-11-16 - Version 1.7.0.0) - Download - General Help & Support - Example Scripts - Wiki OutlookEX_GUI (2021-04-13 - Version 1.4.0.0) - Download Outlook Tools (2019-07-22 - Version 0.6.0.0) - Download - General Help & Support - Wiki PowerPoint (2021-08-31 - Version 1.5.0.0) - Download - General Help & Support - Example Scripts - Wiki Task Scheduler (2022-07-28 - Version 1.6.0.1) - Download - General Help & Support - Wiki Standard UDFs: Excel - Example Scripts - Wiki Word - Wiki Tutorials: ADO - Wiki WebDriver - Wiki Link to comment Share on other sites More sharing options...
Marlo Posted September 12, 2012 Share Posted September 12, 2012 (edited) I just threw this together: To use it just save the script to the directory where the files are and run it. #include <File.au3> $Files = _FileListToArray(@ScriptDir, "*", 1) For $I = 1 To $Files[0] $Name = StringLeft($Files[$I], StringInStr($Files[$I], ".")-1) If Not FileExists(@ScriptDir & "" & $Name) Then DirCreate(@ScriptDir & "" & $Name) FileCopy(@ScriptDir & "" & $Files[$I], @ScriptDir & "" & $Name) Next MsgBox(0, "", "Done!") It copies the file opposed to moving them just in-case something goes wrong and it also lacks recursion (but you didn't mention that so...) Edited September 12, 2012 by Marlo Click here for the best AutoIt help possible.Currently Working on: Autoit RAT Link to comment Share on other sites More sharing options...
RenegadeXO Posted September 13, 2012 Author Share Posted September 13, 2012 Thank you both for the response, I will try this today to see which works best for me. I will also post later the results. Love this forum! Link to comment Share on other sites More sharing options...
water Posted September 13, 2012 Share Posted September 13, 2012 Glad to be of service My UDFs and Tutorials: Spoiler UDFs: Active Directory (NEW 2024-07-28 - Version 1.6.3.0) - Download - General Help & Support - Example Scripts - Wiki ExcelChart (2017-07-21 - Version 0.4.0.1) - Download - General Help & Support - Example Scripts OutlookEX (2021-11-16 - Version 1.7.0.0) - Download - General Help & Support - Example Scripts - Wiki OutlookEX_GUI (2021-04-13 - Version 1.4.0.0) - Download Outlook Tools (2019-07-22 - Version 0.6.0.0) - Download - General Help & Support - Wiki PowerPoint (2021-08-31 - Version 1.5.0.0) - Download - General Help & Support - Example Scripts - Wiki Task Scheduler (2022-07-28 - Version 1.6.0.1) - Download - General Help & Support - Wiki Standard UDFs: Excel - Example Scripts - Wiki Word - Wiki Tutorials: ADO - Wiki WebDriver - Wiki Link to comment Share on other sites More sharing options...
guinness Posted September 13, 2012 Share Posted September 13, 2012 (edited) Here is my take on the output(s) you provided. Local $sSourceFilePath = @ScriptDir & 'abc123.list' Local $sDestinationFilePath = 'C:' _FileCopyToFolder($sSourceFilePath, $sDestinationFilePath, 1 + 8) ; See FileCopy parameters. Func _FileCopyToFolder($sSource, $sDestination, $iFlag = 0) Local $sFilePath = StringTrimLeft($sSource, StringInStr($sSource, '', 2, -1)) $sDestination = StringRegExpReplace($sDestination, '[/]*$', '') ; Remove trailing slashes. $sDestination = $sDestination & '' & StringUpper(StringLeft($sFilePath, StringInStr($sFilePath, '.', 2, -1) - 1)) & '' & $sFilePath MsgBox(4096, '', $sDestination) ;~ Return FileCopy($sSource, $sDestination, $iFlag) EndFunc ;==>_FileCopyToFolder Edited September 13, 2012 by guinness UDF List: _AdapterConnections() • _AlwaysRun() • _AppMon() • _AppMonEx() • _ArrayFilter/_ArrayReduce • _BinaryBin() • _CheckMsgBox() • _CmdLineRaw() • _ContextMenu() • _ConvertLHWebColor()/_ConvertSHWebColor() • _DesktopDimensions() • _DisplayPassword() • _DotNet_Load()/_DotNet_Unload() • _Fibonacci() • _FileCompare() • _FileCompareContents() • _FileNameByHandle() • _FilePrefix/SRE() • _FindInFile() • _GetBackgroundColor()/_SetBackgroundColor() • _GetConrolID() • _GetCtrlClass() • _GetDirectoryFormat() • _GetDriveMediaType() • _GetFilename()/_GetFilenameExt() • _GetHardwareID() • _GetIP() • _GetIP_Country() • _GetOSLanguage() • _GetSavedSource() • _GetStringSize() • _GetSystemPaths() • _GetURLImage() • _GIFImage() • _GoogleWeather() • _GUICtrlCreateGroup() • _GUICtrlListBox_CreateArray() • _GUICtrlListView_CreateArray() • _GUICtrlListView_SaveCSV() • _GUICtrlListView_SaveHTML() • _GUICtrlListView_SaveTxt() • _GUICtrlListView_SaveXML() • _GUICtrlMenu_Recent() • _GUICtrlMenu_SetItemImage() • _GUICtrlTreeView_CreateArray() • _GUIDisable() • _GUIImageList_SetIconFromHandle() • _GUIRegisterMsg() • _GUISetIcon() • _Icon_Clear()/_Icon_Set() • _IdleTime() • _InetGet() • _InetGetGUI() • _InetGetProgress() • _IPDetails() • _IsFileOlder() • _IsGUID() • _IsHex() • _IsPalindrome() • _IsRegKey() • _IsStringRegExp() • _IsSystemDrive() • _IsUPX() • _IsValidType() • _IsWebColor() • _Language() • _Log() • _MicrosoftInternetConnectivity() • _MSDNDataType() • _PathFull/GetRelative/Split() • _PathSplitEx() • _PrintFromArray() • _ProgressSetMarquee() • _ReDim() • _RockPaperScissors()/_RockPaperScissorsLizardSpock() • _ScrollingCredits • _SelfDelete() • _SelfRename() • _SelfUpdate() • _SendTo() • _ShellAll() • _ShellFile() • _ShellFolder() • _SingletonHWID() • _SingletonPID() • _Startup() • _StringCompact() • _StringIsValid() • _StringRegExpMetaCharacters() • _StringReplaceWholeWord() • _StringStripChars() • _Temperature() • _TrialPeriod() • _UKToUSDate()/_USToUKDate() • _WinAPI_Create_CTL_CODE() • _WinAPI_CreateGUID() • _WMIDateStringToDate()/_DateToWMIDateString() • Au3 script parsing • AutoIt Search • AutoIt3 Portable • AutoIt3WrapperToPragma • AutoItWinGetTitle()/AutoItWinSetTitle() • Coding • DirToHTML5 • FileInstallr • FileReadLastChars() • GeoIP database • GUI - Only Close Button • GUI Examples • GUICtrlDeleteImage() • GUICtrlGetBkColor() • GUICtrlGetStyle() • GUIEvents • GUIGetBkColor() • Int_Parse() & Int_TryParse() • IsISBN() • LockFile() • Mapping CtrlIDs • OOP in AutoIt • ParseHeadersToSciTE() • PasswordValid • PasteBin • Posts Per Day • PreExpand • Protect Globals • Queue() • Resource Update • ResourcesEx • SciTE Jump • Settings INI • SHELLHOOK • Shunting-Yard • Signature Creator • Stack() • Stopwatch() • StringAddLF()/StringStripLF() • StringEOLToCRLF() • VSCROLL • WM_COPYDATA • More Examples... Updated: 22/04/2018 Link to comment Share on other sites More sharing options...
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