Jump to content
Sign in to follow this  
RedemptionBlue

(SOLVED): Network Login Script (UNSOLVED): Debugging

Recommended Posts

RedemptionBlue

Hey guys,

I am very new to using AutoIt and wrote my first little script today after reading bits and pieces on the docs.

The script is designed to make an ugly batch operation a bit more user friendly for the people in the office.

I have a batch file that consists of:

@echo off
net use B: /delete
net use B: \\10.10.10.10\Share /user:domain\username

It is used to log a user onto a secure share drive on my NAS. I have spoofed the share location etc. however.

My AutoIt Script is:

Local $passwd = InputBox("Attempting to Access B:", "Enter your password.", "", "*","M")
Run("C:\Users\User\Desktop\login.bat")
WinWaitActive("C:\Windows\system32\cmd.exe")
Send($passwd)

Now this works fine, however once I input my password into the GUI and it Sends that Password to the cmd window, I cannot make it send an "ENTER" Keystroke.

It isn't a HUGE issue as I can manually press enter once the cmd window shows up, but I would like it to input the password and do the carriage return straight away. I have tried using

Send("{ENTER}")
, and it returns an error. I have tried changing the way I implement the sending of {ENTER} in as many ways as I can think of.

I would greatly appreciate it if anyone can help me on this. Also, if anyone knows of a way to run the cmd window silently but still be able to send the password to it that would be even better!

Cheers

Edited by RedemptionBlue

Share this post


Link to post
Share on other sites
RedemptionBlue

Also,

Does anyone know of a way to make it so that if someone clicks the cancel button, the rest of the script terminates?

Cheers

Share this post


Link to post
Share on other sites
Spiff59

Hello!

Welcome to the forum.

You could send the password as a command-line parameter

ShellExecute("C:UsersUserDesktoplogin.bat", $passwd)

and then modify the batch file to utilize the passed parameter:

net use B: 10.10.10.10Share /user:domainusername %1

(I have no access to a network share presently, you may need to wrap the %1 in quotes)

But, I'd suggest it might be cleaner to eliminate the batch file entirely and execute the DOS commands directly from your Autoit script.

Edit: Regarding your second question. Look at the helpfile for InputBox(). Many Autoit commands set a special @error variable after execution. Test the value of @error after the call to InputBox() and react accordingly.

Edited by Spiff59

Share this post


Link to post
Share on other sites
RedemptionBlue

Hi Spiff,

Thank you for your swift reply.

I would love to get rid of the batch alltogether, it would be much cleaner indeed.

I have not found too many tutorials as to how to use the AutoIt API and I keep seeing references to the @error value, yet I do not know how to check it's value, utilise it's value or even know anything about it other than the fact that it is returned by many functions.

I also do not quite get what you mean by sending the password as a command line parameter. The Batch file does the share authentication process perfectly, the reason I wanted to use AutoIt is because I work in an office and the Black and white CMD interface is scary for some of the end users. A 'nicer' GUI would be ideal.

Thank you for any help, it is all appreciated, learning is always great!

Share this post


Link to post
Share on other sites
Spiff59

Batch files allow for "command-line parameters" simply parameters included on the command-line. So, if from a command prompt you typed "login.bat parameter1 parameter2" then inside the batch file you could reference the parameters typed on the command line by using the built-in variables %1, %2, %3, etc. A line in a batch file that was:

@echo The first command-line parameter is: %1

would display

The first command-line parameter is: parameter1

The "net use" command allows for optional password parameter, instead of prompting the user.

So, we used ShellExecute to launch login.bat and pass it the value of $passwd. Inside the batch file we plugged that parameter (%1) into the proper location of the "net use" command, so it won't need to ask the user for it.

@error behaves much the same as any typical user-created variable that begins with $.

If @error = 2 Then Msgbox(0,"", "The InputBox timed out!")

or for a different look:

If @error = 1 Then
    Tooltip("Script Cancelled by User", @DesktopWidth / 2, @DesktopHeight / 2, "Network Login Script", 0, 2)
    Sleep(2000)
    Exit
Endif

Edit: The helpfile is a pretty good resource. You can find some basic stuff by googling "Autoit tutorial wiki"

Edited by Spiff59

Share this post


Link to post
Share on other sites
RedemptionBlue

Thank you Spiff.

I managed to make it work using the command-line parameter method.

I would still like to eliminate the need for the .bat but I have played with executing the net use straight out of AutoIt and can't seem to get it.

I will use my knowledge gained today to work on my logout script now.

Thank you again. Is there a way that I can give you "rep" or something? You have been very helpful.

Cheers

Share this post


Link to post
Share on other sites
JLogan3o13

Hi, RedemtionBlue. Have you taken a look at DriveMapAdd and DriveMapDel in the help file? It appears these could do the job of eliminating the batch file for you. Something like this, I would think:

DriveMapDel("B:")
DriveMapAdd("B:", '<path to share>', 8, "domain" & @UserName);<--8 automatically shows the authentication box for you
Edited by JLogan3o13

√-1 2^3 ∑ π, and it was delicious!

Share this post


Link to post
Share on other sites
RedemptionBlue

Having Trouble with DriveMapAdd.

It keep returning @error = 1

Here is my Code at the moment.

Local $user = InputBox("B:", "Enter your username", "", "", 215,137)
Local $passwd = InputBox("Attempting to Access B:", "Please enter your password", "", "*",215,137)
If @error = 1 Then
Tooltip("Script Cancelled by User", @DesktopWidth / 2, @DesktopHeight / 2, "Network Login Script", 0, 2)
Sleep(2000)
Exit
ElseIf @error = 2 Then
Msgbox(0,"", "The InputBox timed out!")
EndIf
DriveMapDel("B:")
DriveMapAdd("B:", '\\10.0.0.20\Beaches', 8, "domain\" & $user, $passwd)
If @error = 1 Then
MsgBox(0, "Failure", "Failed to Connect to B: - Unknown Error")
Exit
ElseIf @error = 2 Then
MsgBox(0, "Failure", "Failed to Connect to B: - Access is Denied")
Exit
ElseIf @error = 3 Then
MsgBox(0, "Failure", "Failed to Connect to B: - The Drive is Already Assigned")
Exit
ElseIf @error = 4 Then
MsgBox(0, "Failure", "Failed to Connect to B: - Invalid Device Name")
Exit
ElseIf @error = 5 Then
MsgBox(0, "Failure", "Failed to Connect to B: - Invalid Remote Share")
Exit
ElseIf @error = 6 Then
MsgBox(0, "Failure", "Failed to Connect to B: - Incorrect Password")
Exit
EndIf
MsgBox(1, "B:", "You have been logged into B:")

Every single time, I get the MsgBox that I set for @error = 1. Any Ideas why, is my code wrong(quite likely)?

Share this post


Link to post
Share on other sites
water

If @error = 1 what's the value of @extended then?


My UDFs and Tutorials:

Spoiler

UDFs:
Active Directory (NEW 2018-06-01 - Version 1.4.9.0) - Download - General Help & Support - Example Scripts - Wiki
OutlookEX (2018-01-27 - Version 1.3.3.1) - Download - General Help & Support - Example Scripts - Wiki
ExcelChart (2015-04-01 - Version 0.4.0.0) - Download - General Help & Support - Example Scripts
Excel - Example Scripts - Wiki
Word - Wiki
PowerPoint (2015-06-06 - Version 0.0.5.0) - Download - General Help & Support

Tutorials:
ADO - Wiki

 

Share this post


Link to post
Share on other sites
RedemptionBlue

What can I do to check the value or @extended, just

MsgBox(0, "Extended Check", "The value of @extended is " & @extended)

?

Cheers

EDIT: Used the code I just mentioned and @extended printed as 0.

Edited by RedemptionBlue

Share this post


Link to post
Share on other sites
water

Use

If @error = 1 Then MsgBox(0, "Failure", "Failed to Connect to B: - Unknown Error, @extended = " & @extended)


My UDFs and Tutorials:

Spoiler

UDFs:
Active Directory (NEW 2018-06-01 - Version 1.4.9.0) - Download - General Help & Support - Example Scripts - Wiki
OutlookEX (2018-01-27 - Version 1.3.3.1) - Download - General Help & Support - Example Scripts - Wiki
ExcelChart (2015-04-01 - Version 0.4.0.0) - Download - General Help & Support - Example Scripts
Excel - Example Scripts - Wiki
Word - Wiki
PowerPoint (2015-06-06 - Version 0.0.5.0) - Download - General Help & Support

Tutorials:
ADO - Wiki

 

Share this post


Link to post
Share on other sites
RedemptionBlue

@extended has a value of 0. Does that mean that it was not assigned or does the function have a reason behind a 0 value?

Either way, will it help me fix the issue?

Cheers

Share this post


Link to post
Share on other sites
water

Does it make sense to set the flag to 8 (Show authentication dialog if required) when you provide userid and password?

Could you try:

DriveMapAdd("B:", '10.0.0.20Beaches', 0, "domain" & $user, $passwd)

My UDFs and Tutorials:

Spoiler

UDFs:
Active Directory (NEW 2018-06-01 - Version 1.4.9.0) - Download - General Help & Support - Example Scripts - Wiki
OutlookEX (2018-01-27 - Version 1.3.3.1) - Download - General Help & Support - Example Scripts - Wiki
ExcelChart (2015-04-01 - Version 0.4.0.0) - Download - General Help & Support - Example Scripts
Excel - Example Scripts - Wiki
Word - Wiki
PowerPoint (2015-06-06 - Version 0.0.5.0) - Download - General Help & Support

Tutorials:
ADO - Wiki

 

Share this post


Link to post
Share on other sites
RedemptionBlue

My script works sometimes but not all the time.

Sometimes it logs me in no worries, other times it returns @error = 1 so I get the unknown error message with a value of @extended = 1219.

Any ideas? I think it is a windows networking issue because when I try to do the DOS command for adding a drive I get an error regarding mapped drives and multiple users, although often I am only logging in from the singular machine.

Windows' networking needs a rethink, I also get errors where it refuses to delete a mapped drive but also won't reconnect either. (Sorry i will stop ranting about windows as this is not the place).

My Code as of now:

Local $user = InputBox("B:", "Enter your username", "", "", 215,137)
If @error = 1 Then
    Tooltip("Script Cancelled by User", @DesktopWidth / 2, @DesktopHeight / 2, "Network Login Script", 0, 2)
    Sleep(2000)
    Exit
ElseIf @error = 2 Then
Msgbox(0,"", "The InputBox timed out!")
EndIf

Local $passwd = InputBox("Attempting to Access B:", $user & ", please enter your password", "", "*",215,137)
If @error = 1 Then
    Tooltip("Script Cancelled by User", @DesktopWidth / 2, @DesktopHeight / 2, "Network Login Script", 0, 2)
    Sleep(2000)
    Exit
ElseIf @error = 2 Then
Msgbox(0,"", "The InputBox timed out!")
EndIf
DriveMapDel("B:")
DriveMapAdd("B:", '10.0.0.20Beaches', 0, "domain" & $user, $passwd)
If @error = 1 Then
   MsgBox(0, "Failure", "Failed to Connect to B: - Unknown Error Code: " & @extended)
   Exit
ElseIf @error = 2 Then
   MsgBox(0, "Failure", "Failed to Connect to B: - Access is Denied")
   Exit
ElseIf @error = 3 Then
   MsgBox(0, "Failure", "Failed to Connect to B: - The Drive is Already Assigned")
   Exit
ElseIf @error = 4 Then
   MsgBox(0, "Failure", "Failed to Connect to B: - Invalid Device Name")
   Exit
ElseIf @error = 5 Then
   MsgBox(0, "Failure", "Failed to Connect to B: - Invalid Remote Share")
   Exit
ElseIf @error = 6 Then
   MsgBox(0, "Failure", "Failed to Connect to B: - Incorrect Password")
   Exit
EndIf
MsgBox(1, "B:", "You have been logged into B:")

The batch code that I use and sometimes get the error(Could be related):

net use B: /delete
net use B: 10.0.0.20Beaches /user:domainusername

FYI, username etc are spoofed.

Cheers

Share this post


Link to post
Share on other sites
dany

@extended = 1219 is a WinAPI error code, see the remarks at DriveMapAdd

Multiple connections to a server or shared resource by the same user, using more

than one user name, are not allowed. Disconnect all previous connections to the

server or shared resource and try again..

So you're trying to map a network drive with invalid credentials.

Here's a list for future reference: System Errors


[center]Spiderskank Spiderskank[/center]GetOpt Parse command line options UDF | AU3Text Program internationalization UDF | Identicon visual hash UDF

Share this post


Link to post
Share on other sites
RedemptionBlue

The credentials are 100% correct.

There seems to be problems with windows and authentication of these drives sometimes.

The error regarding bad creds is inconsistent and often the script will just work.

I find after a restart, sometimes it is fixed.

Also, there are only 3 users that have access to the drive and for the sake of well... because I can, I want to make it so if the username of either clare, ric or tony is not entered then the script gives you a MsgBox() and Exits.

Here is my code for it that I tried, but I have looked around on the forums, tutorials and google only to not find anyone else explaining how to do this.

Local $user = InputBox("B:", "Enter your username", "", "", 215,137)
If @error = 1 Then
    Tooltip("Script Cancelled by User", @DesktopWidth / 2, @DesktopHeight / 2, "Network Login Script", 0, 2)
    Sleep(2000)
    Exit
ElseIf @error = 2 Then
Msgbox(0,"", "The InputBox timed out!")
EndIf

If $user <> tony and $user <>clare and $user <> ric Then
Msgbox(0, "Failure", "The username is not recognised")
Exit
EndIf

Thanks for that

Share this post


Link to post
Share on other sites
RedemptionBlue

Thank you for all the help so far, my "end-product" is getting closer to completion so to speak.

Just trying to make it so that if the username supplied is not one of the 3 that are allowed to gain access then it says something like "Unknown Username" Or what not.

My entire script is:

Local $user = InputBox("B:", "Enter your username", "", "", 215,137)
If @error = 1 Then
    Tooltip("Script Cancelled by User", @DesktopWidth / 2, @DesktopHeight / 2, "Network Login Script", 0, 2)
    Sleep(2000)
    Exit
ElseIf @error = 2 Then
Msgbox(0,"", "The InputBox timed out!")
EndIf

#cs
If $user <> tony and $user <>clare and $user <> ric Then
Msgbox(0, "Failure", "The username is not recognised")
Exit
EndIf
#ce

Local $passwd = InputBox("Attempting to Access B:", $user & ", please enter your password", "", "*",215,137)
If @error = 1 Then
    Tooltip("Script Cancelled by User", @DesktopWidth / 2, @DesktopHeight / 2, "Network Login Script", 0, 2)
    Sleep(2000)
    Exit
ElseIf @error = 2 Then
Msgbox(0,"", "The InputBox timed out!")
EndIf
DriveMapDel("B:")
DriveMapAdd("B:", '\\10.0.0.20\Beaches', 0, "domain\" & $user, $passwd)
If @error = 1 Then
   MsgBox(0, "Failure", "Failed to Connect to B: - Unknown Error Code: " & @extended & @CRLF & "Please contact your IT Support")
   Exit
ElseIf @error = 2 Then
   MsgBox(0, "Failure", "Failed to Connect to B: - Access is Denied")
   Exit
ElseIf @error = 3 Then
   MsgBox(0, "Failure", "Failed to Connect to B: - The Drive is Already Assigned")
   Exit
ElseIf @error = 4 Then
   MsgBox(0, "Failure", "Failed to Connect to B: - Invalid Device Name")
   Exit
ElseIf @error = 5 Then
   MsgBox(0, "Failure", "Failed to Connect to B: - Invalid Remote Share")
   Exit
ElseIf @error = 6 Then
   MsgBox(0, "Failure", "Failed to Connect to B: - Incorrect Password" & @CRLF & "If you have forgotten your password please contact IT Support")
   Exit
EndIf
MsgBox(1, "B:", "You have been logged into B:")

As you can see I have placed my attempt at the username authentication in #cs/ce tags.

If I cannot do it in the simpler format that I have attempted I will just make it so that it is an if statement where if $user = tony Then execute script, else if $user = clare Then execute script, else if $user = ric execute script, else Exit.

I would rather not do that as I am a Java programmer and it seems to me like just sloppy code but I just do not quite have the syntax/semantics of if statements in autoit fully understood.

Cheers

Share this post


Link to post
Share on other sites
water

If you have only 3 usernames then your code is fine (for me).


My UDFs and Tutorials:

Spoiler

UDFs:
Active Directory (NEW 2018-06-01 - Version 1.4.9.0) - Download - General Help & Support - Example Scripts - Wiki
OutlookEX (2018-01-27 - Version 1.3.3.1) - Download - General Help & Support - Example Scripts - Wiki
ExcelChart (2015-04-01 - Version 0.4.0.0) - Download - General Help & Support - Example Scripts
Excel - Example Scripts - Wiki
Word - Wiki
PowerPoint (2015-06-06 - Version 0.0.5.0) - Download - General Help & Support

Tutorials:
ADO - Wiki

 

Share this post


Link to post
Share on other sites
RedemptionBlue

If I get rid of the #cs/ce tags on the username authentication code then I get an error on running the script. I will get back to a machine with the script and autoit on it and I will get back to you with the error.

Share this post


Link to post
Share on other sites
water

You need quotes around the user names:

If $user <> "tony" and $user <> "clare" and $user <> "ric" Then
    Msgbox(0, "Failure", "The username is not recognised")
    Exit
EndIf

Edited by water

My UDFs and Tutorials:

Spoiler

UDFs:
Active Directory (NEW 2018-06-01 - Version 1.4.9.0) - Download - General Help & Support - Example Scripts - Wiki
OutlookEX (2018-01-27 - Version 1.3.3.1) - Download - General Help & Support - Example Scripts - Wiki
ExcelChart (2015-04-01 - Version 0.4.0.0) - Download - General Help & Support - Example Scripts
Excel - Example Scripts - Wiki
Word - Wiki
PowerPoint (2015-06-06 - Version 0.0.5.0) - Download - General Help & Support

Tutorials:
ADO - Wiki

 

Share this post


Link to post
Share on other sites

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
Sign in to follow this  

  • Similar Content

    • nacerbaaziz
      By nacerbaaziz
      Hello
      I have a query please
      It is about windows file explorer
      If i design a tool in autoit language to delete files for example
      and i  added it in the context menu in File Explorer
      If i right-click on any file And you choose the tool, it will be get the path of the selected file or folder
      The problem here is
      If i select a set of files or folders
      it only detect the first one
      The code that i  used is
      if $CMDLine[0] = 0 then
      msgBox(16, "error", "you don't selecte any files")
      exit
      else
      for $i = 1 to $CMDLine[0]
      msgBox(0, "files", $CMDLine[$i]
      next
      endIf
      exit
    • VollachR
      By VollachR
      I'm quite new to AutoIT and I have a very big batch file that I'm trying to completely re-write in Autoit, so far it's been going well but I got stuck with a certain part, hope someone can help.
      Here's the part of the batch script I'm currently stuck re-creating in AutoIT:
          :BeginLangMenu     if "%OptNum%" gtr "0" goto ShowLangMenu          ::Next Section code based on code supplied by Aacini from stackoverflow.com     :DefineLangMenu     for /L %%D in (1,1,99) do (        if exist Common\Settings\Data%%D.ini for /F "eol=# tokens=1,2 delims==" %%a in (Common\Settings\Data%%D.ini) do (                set line=%%a           if "!line:~2,5!" neq "clude" (              REM Define "normal" variables, i.e. Compressor, Method, etc.              set %%a=           ) else if "!line:~7!" neq "" (                   REM Define the base array elements, i.e. D1IncludeAR=%%b, D1ExcludeAR=%%b, ...              set D%%D%%a=%%b                   REM Set Show?? array elements with value equal 1, i.e. ShowAR=1, ...              REM when anyone of DiInclude?? or DiExclude?? corresponding elements was given              if defined D%%D%%a set Show!line:~7!=1                )        )     )          REM Define a list of language abbreviations, i.e. "langs=AR CZ DE ..."     REM and the corresponding language names array, i.e. lang[AR]=Arabic, ...     REM At same time, calculate original OptNum          for %%a in ("AR=Arabic" "CZ=Czech" "DE=German" "EN=English" "ES=Spanish" "ESMX=Spanish(Mexico)"                 "FR=French" "HU=Hungarian" "IT=Italian" "JP=Japanese" "KR=Korean" "PL=Polish"                 "PR=Portuguese" "PRBR=Portuguese(Brazil)" "RU=Russian" "ZH=Chinese") do (        for /F "tokens=1,2 delims==" %%b in (%%a) do (           set "langs=!langs! %%b"           set "lang[%%b]=%%c"           set /A "OptNum+=Show%%b"             )     )          ::NEXT 2 SECTIONS DISPLAYS THE LANGUAGE SELECTION MENU IF APPLICABLE     :ShowLangMenu     set /a step=%step%+1     :LangMenu     if "%OptNum%"=="0" Goto checksplit     echo %TIME:~0,2%:%TIME:~3,2%:%TIME:~6,2% - Showing Language Selection Menu >> "%workdir%Conversion.log"     REM Show the language menu     set #=0     for %%a in (%langs%) do (        if defined Show%%a (           set /A #+=1     rem       echo [!#!] !lang[%%a]!           echo !lang[%%a]! >> %b2eincfilepath%\Lang.txt           set "option[!#!]=%%a"         )     )               %MYFILES1%\DROPDOWNBOX.exe /F:"%b2eincfilepath%\Lang.txt" "Choose Which Language to Compress" "STEP %step%: Language Selection"  /W:280 /RI /C:13 >nul > %b2eincfilepath%\LangAnswer.txt     if %ERRORLEVEL% EQU 0 del %b2eincfilepath%\LangAnswer.txt     if exist %b2eincfilepath%\LangAnswer.txt set /p "SelectLang="<%b2eincfilepath%\LangAnswer.txt     if not defined SelectLang goto LangError     if %SelectLang%==Arabic Set LangOpt=AR     if %SelectLang%==Czech set LangOpt=CZ     if %SelectLang%==German set LangOpt=DE     if %SelectLang%==English set LangOpt=EN     if %SelectLang%==Spanish set LangOpt=ES     if %SelectLang%==Spanish(Mexico) set LangOpt=ESMX     if %SelectLang%==French set LangOpt=FR     if %SelectLang%==Hungarian set LangOpt=HU     if %SelectLang%==Italian set LangOpt=IT     if %SelectLang%==Japanese set LangOpt=JP     if %SelectLang%==Korean set LangOpt=KR     if %SelectLang%==Polish set LangOpt=PL     if %SelectLang%==Portuguese set LangOpt=PR     if %SelectLang%==Portuguese(Brazil) set LangOpt=PRBR     if %SelectLang%==Russian set LangOpt=RU     if %SelectLang%==Chinese set LangOpt=ZH     if defined SelectLang Goto LangSet          ::SETS THE LANGUAGE SELECTION ACCORDING TO USER INPUT IN LANGUAGE MENU     :LangSet     set "LangIs=%LangOpt%"  
      Basically, here's what I need to do:
       Read from specific section of INI file but ONLY the Keys that have a Value. OR: A way to remove the keys without the values from the Array created by IniReadSection. A way to then take these stored values, and create a list of Languages based last 2-4 characters of the Key names. At this point, that said list is shown to user in DropDown box, after user make selection I need a way to move the Value of the Key related to the selected Language to a Variable, and ONLY the value for that specific Language. That's it basically, the rest is more or less Variable manipulation which isn't a problem.
      A little Example:
      My INI file have a Section like this:
      [LangInclude] IncludeAR=a IncludeCZ= IncludeDE=b IncludeEN= IncludeES=c IncludeESMX= IncludeFR= IncludeHU=d IncludeIT= IncludeJP= IncludeKR=e IncludePL= IncludePR= IncludePRBR= IncludeRU= IncludeZH= I need to get Only the keys that are set, in this case: IncludeAR, IncludeDE, IncludeES, IncludeHU & IncludeKR.
      I then need to convert these to a list of languages, in this example it will be (Arabic, German, Spanish, Hungarian, Korean).
      That list will be turned to DropDown selection, that I can do easily once I get the list correctly.
      After the user Selected, let us say for the example purpose Spanish, I need the Value of IncludeES to be moved into a Variable, like this: $Var=c
      I hope somebody can help me because I'm stuck after Importing the INI section with IniReadSection, everything I tried so far failed, the best I managed to do is Sort the array to have all the keys with values either at the first rows or last rows.
      I need some ideas.
      Help appreciated.
      Thanks
       
    • TheSaint
      By TheSaint
      Files Checklist
      Just a simple little (complex enough) program I whipped up, for a purpose ... but only too happy to share.
      It can of course be modified to do more, but at the moment just compares file names with or without path ... Location versus Checklist.
      There are of course other compare programs out there, most doing a lot more than mine (i.e. WinMerge or FileComparer). But I wanted something quick and simple with drag & drop, that uses up a smallish amount of screen real estate.
      NOTE - The SAVE button is also a LOAD one, and displays 'Load' when the list is empty. So you can save and load specific lists. While in SAVE mode, the button can also be used with CTRL held down, to ADD another list to existing (displayed one) ... combining as they say ... though not saved until you SAVE. CLEAR button removes a selected entry, or if used with CTRL held down, queries about removing all listed entries.
              
      Files Checklist v1.2.zip
      Files Checklist v1.3.zip
      Files Checklist v1.4.zip  (Includes a BUGFIX.)
        (source included)
      WARNING - While this program does not act on files or folders ADDED or CHECKED, you might act on the results, so I advise caution, and I also recommend using the new 'Relative' option in v1.3 or newer ... but you still need to understand what you are doing and what the results actually mean. Some basic examples in the next post.
      Enjoy!
      RELATED
      Users might also be interested in another somewhat related program of mine.
      DeleteIf Same
      Cheers!
    • TheSaint
      By TheSaint
      TeraCopy Timer - A program of mine, front end really, that I have been working on (on & off) for some time, but not shared here before, that I recall. Third party program TeraCopy is required.
      Many of you will be familiar with TeraCopy, and it has been discussed here at AF on several occasions, in various sub forums, including Chat.
      BE ADVISED - I still use an older version of TeraCopy (v2.27), a goody but an oldy, so have only tested my program with that. It may work with the newer v3.xx, or may be easily adjusted to do so, but I have not yet gone that route. Likewise, I only use it with Win 7 and Win XP, but I don't imagine there should be any issues with newer Windows. Add to that, my program being devised and created in AutoIt v3.3.0.0.
      So what is TeraCopy Timer and why might you need it?
      --------------------------------------------------------------------------------------
      Those familiar with TeraCopy use, know you can run multiple copy or move jobs either simultaneously or concurrently (one immediately after another has finished). With the free version at least, you have no control over precise order or timing, and no way to deal (without manual interaction) with the pesky Thumbs.db files in Win XP. TeraCopy Timer allows you to do all those things, and in a batch fashion.
      --------------------------------------------------------------------------------------
      Some screenshots and brief explanation
      Main Window
      Minimalist Window
      This new WAIT feature is the simplest and best way to use the program generally (in my view) ... but check out the following, as it is not always the case.
      Advanced Delay Window
      WARNING - It should go without saying, that you take all the usual precautions. For instance, don't use move with the only copy you have of precious files. BACKUP BACKUP BACKUP! Don't hold me liable for anything, except for being a nice guy who likes to share.
      TeraCopy Timer v2.8.zip  (see detail at Post #34)
      Enjoy!
      OLDER DOWNLOADS
      P.S. I am not affiliated in any way with those who created and provide the excellent third party program - TeraCopy.
    • nacerbaaziz
      By nacerbaaziz
      Hello all
      I have a question please
      I've searched a lot on how to make a GUI for programs designed by Autoit to accepts dragging files from Windows File Explorer
      Unfortunately, however, it failed
      Is there any way to do this?
      Where I am making a audio player and I want to activate the feature of dragging files from Windows Explorer to a program window to play them
      I hope to find a simple solution here in this wonderful forum
      Thank you very much in advance
×