Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Messages - Mathias (Author)

Pages: 1 ... 127 128 129 130 [131] 132 133 134 135 ... 189
3251
Forst of all I'm not familiar with the syntax you're giving me, but I copy and pased it in and it does indeed work as you said - when used alone. Where do I find a complete overview of syntax?
You need to check the "regex" box for it to use regular expression

I do get a problem though, when I try to add size less than 1 MB. Then I get no hit. It is like if adding size imply I'm searching for a file, but what I really want is all directories if all files added together is smaller than 1 MB.

I could of course do it by sorting directories by size with Shift Alt Enter, but then I wouldn't be able to manipulate the search with sub levels, dates and attributes.
No you cannot matching folder size in search. Folders by them self do not have a size.
You can list folder size in the Explorer panel by selecting files and selecting menu > tools > Calculate folder size

3252
Beta Releases / Re: Multi Commander 4.2 Beta
« on: April 05, 2014, 14:39:14 »
New MultiScript functions

<str> PathMakeRelativeMC( <str> )

Convert path to a relative path. (Relative to where MC is installed)

<str> PathMakeAbsoluteMC(<str>)

Convert a relative to absolute path. (the relative path is assumes to be relative to MC)

<str> PathTranslatePath(<str>)

Translate path, Support both Relative to absolute and environmental tags ( eg %WINDIR% ) and ${mcpath} tag

<str> TranslateEnvString( <str> )

Translate a string that have environmental tags in it.
"Path to Windows is : %WINDIR%" => "Path to Windows is : C:\Windows"


3253
No "*." do not work anymore. Did before but was change because of too many complains.

but you can use regex "^([^.]+)$"  this will match name without extension

If you do not it to match directories .. Then enable Attributes matches and uncheck the "directory" attribute.

You do search and set view filter from script. ( MC.FileSearch.Search ,MC.Explorer.SetViewFilter )

3254
Support and Feedback / Re: File Search Tab
« on: April 01, 2014, 13:52:13 »
That is currently not possible since it require a lot of redesign, But it is planned for sometime in the future.

3255
Support and Feedback / Re: Copy/Move - Progress Window
« on: April 01, 2014, 13:50:08 »
Modifying the queue is on my todo list and it something that is planned to be added.

3256
Support and Feedback / Re: Quick Search
« on: April 01, 2014, 13:47:05 »
Sound like you want to filter the view to only show what you type.
Ctrl+F and start typing, the the view is filtering for every character you type.

3257
Support and Feedback / Re: Locked TAB functionality.
« on: April 01, 2014, 07:12:49 »
Mathias, I am sorry, I kept checking for an update using "Help" -- "Check for updates" but nothing showed as being available.
It was only when I ran the MultiUpdate tool that a new update was provided.

Yes, as you say, there is now that option in the settings. And it works PERFECTLY!!

Just want I wanted. Thank you.

So can I conclude from this that the setting inside the MultiUpdate tool to also include 'beta' updates doesn't apply in the menu command?
Under core settings you need to enable so that it checks and download Beta version, Then you don't need to run multiupdate separately



3258
Support and Feedback / Re: Locked TAB functionality.
« on: March 30, 2014, 11:54:59 »
Settings if it should open new tab when going to new location of tab is locked is already added in the current beta

Somehow I think you are misunderstanding the point of this topic. :(

Regardless of whether I have the option checked or not, whenever I move UP the path a new Tab is opened.

"Lock Tab - Allow subpath change" is great, I use this ALL the time on my locked tabs. It keeps my locked Tab and all the sub-folders together.
That option is not in question. It does what you intended and what I need. It is the moving UP the path that is broken.
Sometimes when I click, " .. ", to move up the path, I sometimes click again by mistake and a new Tab opens with the parent folder.
It shouldn't! That is the aspect of 'Locking the Tab' that should be addressed.
A simple error message or audible error tone or something, just to alert the user, "Sorry, you don't want to go that way, you have locked the Tab."

Likewise clicking the higher level folders in the pathname shouldn't be possible when this option is chosen.

C:\TopLevel\SecondLevel\ThirdLevel\FourthLevel\FirstChildLevel\Folder1\Folder1a\Folder1b\

In this example the locked Tab is FourthLevel. All the folders under this should, and do, open in the same Tab.
Anything above that, C:, TopLevel, SecondLevel or ThirdLevel should return an error message of some kind indicating access from this 'Locked Tab' is denied.

Otherwise the functionality of 'locking the Tab' is gone. I can move freely up and down this directory tree without locking tabs, all locking them does is start a new Tab. If I wanted a new Tab I can simply Ctrl-T and make one using the current folder as a starting point.

But.... That is what that new option do. 

If you disable the settings "Open new tab when going to new location if tab is locked" in (Explorer Panel Settings under the Tab category)

If I go to C:\MyFolder\Folder1  then I lock the tab. Then if I tries got to ".." or click on C:\MyFolder or something else that would take me way.
It would not allow that and a new tab with that path is NOT create. No new tab and current tab is still at the same path.



3259
Support and Feedback / Re: Locked TAB functionality.
« on: March 27, 2014, 09:49:10 »
Settings if it should open new tab when going to new location of tab is locked is already added in the current beta

3260
Support and Feedback / Re: Userdefined Commands XML file
« on: March 26, 2014, 16:07:48 »
A restart of MC is all that is needed.  But did you changed the correct file ?
It is the file that is located in the users private config location.. not in the install folder.  (Unless you run portable version)

Type ":goconfig" in MC to go to the User Config location.
Also if you edit the file manually make sure you do not mess up the XML tags. You can verfiy the XML by trying to open it it IE. If there are XML error IE will complain.



3261
It depends on how you do the copy. If MC is handling it or Windows (copy, paste),  MC handles paths up to 4096 chars in most places.
If you press Ctrl+L you have a log windows and you can see what error it reports.
How long are the path..  are they longer then 4096 ?

However. Since Windows does not officially support more then 255 characters (Even thou the NTFS filesystem support longer..)
a lot of features that are depends on Windows will not work when files are located in extra long paths. like right click menus, having Windows run the exe file in that location. And a lot of other program will also have problem reading files if they do not support extra long paths.

So using extra long path are not recommended and should only be used if you really know what you are doing, because most part of Windows does not support it.
(However a lot of internal Windows functions have been upgraded to support extra long path in Windows 8.1, so support is getting better)

3262
Beta Releases / Re: Multi Commander 4.2 Beta
« on: March 22, 2014, 17:31:09 »
New beta available build 1650.

most of the changes in this beta are for internal changes or for high DPI changes.
But there are also a couple of new things.. See the modified changelog in the first post at the top

3263
Don't try yet :)

I said. "Would maybe be possible to add so unpack from script can use password"
It is not supported yet. But will be in the future if I'm able to add support for that

3264
No that  it is currently not possible. It would require MC to remember the password and store the password for future usage.
Would maybe be possible to add so unpack from script can use password


Saving Selection to memory/file just saves in what files you have selected so that you later can use load selections from memory, and the selection of the files are restored.
Are used when you are selected the same files often, So then you can select them a lot faster.

 

3265
The recycle bin is a OS concept that aggregate the data from all drives recycle bins, and it is not added to MC yet.
Use the recycle bin on the desktop or in windows explorer.
or type "shell:RecycleBinFolder" in the command line field

3266
I made a few more experiments connecting Android tablets and mobile phones (different brands). Windows mounts their file systems with names, and indeed does not assign any drive letter, for example: "Canon EOS M", "Xperia Tablet Z" -- as opposed to: "E:", "F:", and so on. HOWEVER once mounted Windows Shell gives full access to their file structure, individual files, and provides expected functionality: for example it creates JPEG previews, allows compression/expansion of individual files, and so on.
No you do not have full access to the file system. It might look like it. But technically you do not.

I also checked XPlorer2, Q-Dir and FreeCommander XE. It is my understanding that at least XPlorer2 does not use standard Windows Shell (not sure about the other two). All mounted tablets and cameras storage properly.
I think it uses shell.. but it does matter.

I found your statement "Windows does not assign a drive letter to it, it is not a storage device" to be incorrect. Windows Explorer shows under "Computer" the following groups of devices:
* Hard Disk Drives
* Devices With Removable Storage
* Portable Devices

Fact that no letter drives are assigned to the "Portable Devices" group does not mean that Win handles them as "non storage devices". All file manipulations and specific storage device command appear to be working just fine, reporting of free/available space is correct, formatting from Win shell is allowed, etc.
It is not a storage device in a technical/programmer way, You might think it is because you see the files, But that is because the Shell is lying (it does that a lot) :)
But actually It gets connected as a WPD (Windows Portable Device) and are using MTP (Media Transport Protocol) to talk to the device. And this is way different from a normal file system. There is no direct file system access.
There are plans and for a Filesystem Plugin for this. But it is not created by it self. it take lot of time from me.

While I appreciate that you find Windows Shell to be inferior and flawed, I would like to respectfully point out that when tablets, phones or cameras are connected to Win computer it is actually the Multi Commander which "does not always show the truth", thus is flawed. I appreciate time and work you put in the MC, I appreciate that you offer it free, but, before being hyper critical about standard Windows Shell, perhaps some reality check would be good?
If I used the shell then a lot of the features in MC would not be possible. and it would also be slower and other issues. There are some thinks that are good about the shell and it gives some stuff for free. But it also hinders you.  When starting with MC I started with using the shell but very very early on I notice that it would not work for what I wanted to do and the shell got in the way.
We all have different needs and requirements when working with files. If you really need all of the shell support then there are a lot of FMs for that. and if not then there is a lot of FMs for that.

There are many common scenarios (for example: transferring files from a camera, copying files to tablets, etc) where the MC fails to deliver, and the "inferior" Windows Explorer delivers without a glitch.
And Windows Explorer does not have a lot of features that MC has, so it fails there.
smartphones/tables uses to be connected as a storage device before, But since the file system can be corrupted if it is changed by the phone and the computer at the same time.  They all started to switch over to WPD/MTP. And that is also going way for some device. Some devices now say use Wifi or cloud storage to transfer files.


3267
MC have no control where the filesystem write the data. MC just write data and the filesystem find some where to put the data.
If you get 33 fragments for a 7MB file then I guess your drive is very fragmented or very full. If you have a SSD, the fragments does not matter.

What I am talking about is mechanical Hard disk, not SSD, fragmentation has almost no effect on SSD. Also I got 20GB free space when my 160GB hard disk write that 7MB file.

There is no differers from synchronous and asynchronous in how the system write the file. the different is that with asynchronous mode the file is copied by reading and writing at the same time and should only be used if the source and target are totally different drives.

Chunk size + sync/async mode of writing does affect fragmentation. In async mode, data read and write on different devices. The moment, when a piece data is being read from one hard disk, that piece of data cannot be written on other hard disk at the same time because it is still being read. In a fast rotating Hard disk, the hard disk head hence misses the consecutive write sequence because it has to wait until that piece of data finished reading. Filesystem can only find other empty place to write that piece of data when it finished reading it, and that causes fragmentation.

In Sync mode, by reading the whole file, or a big chunk of data into memory, and then write it back in a single time, this can help reducing fragmentation as filesystem now writes a big chunk of data without interleaving reading and writing.

Not sure what you mean by that. but how many fragmentation a files gets have nothing to do with how many times you read it.

I mean, on mechanical hard disk, reducing fragmentation helps faster booting and loading files because program files are usually read many times during system uptime. If you copy some program files from one place to another, you would try to keep them 1 fragment per file as possible.

In "total commander" and "fastcopy", I can set both the buffer and chunk (I/O) size to 16MB or more instead of only 1MB maximum and I can always get 1 fragment per file with them. I hope I can also set maximum chunk size to 16MB or more in MC.

Hope you understand my poor English.
I do not think sync / async really matters for fragmentation, since the filesystem do not know the location of the drive head.
The filesystem do not search for free block on the disk while writing. (That would be very very slow),  Simplified they have an in memory database of what filesystem blocks are free and so. The filesystem might be located on a raid system and then you can have 10 drive heads depending on configuration.
The filesystem do not know about the drive layout. It only knows that it can write data from block x to block y.

However you are correct that chunk size matters. because if you have larger chunks there is more chance for the filesystem to find an entire block that the chunk of data fits into. But the filesytem will try to keep the data consistent, however if there a low free space or the drive is fragmented it can be hard for it to find a block right next to the previous block. But fragmentation do not need be super bad. it depends on in what order they are. but less fragment are always good.
Windows will try to auto defrag data when computer are idle and make sure file are consistent. (Not on XP)

However chunck size that is too large is not good for write performance (and IO performance), if you write chunks that are larger the the drive cache the OS driver for the harddrive will have to stall and wait before data can be sent to it.

In MC you can tweak the chunck size. Their is no max limit for chunk size in MC, but there is in the settings UI (bug), so one have to hack the config file to get around that.
But that will fix.

But one think that will make more of a different is the option to preallocate the target file. Most filesystem support that now and that is an option that is coming. This will tell the filesystem before the data is written that the file is for example 100MB, and the filesystem will create an empty 100MB file directly that the data is then written into. (since it gets a hint of the final size the filesystem can find a large enough block range for the entire file directly)
However there are some issues with this on some filesystem and network location so this option will not be on by default.

sync/async is mostly a performance option.  when copy between 2 physical drives async is faster. since reads do not need to wait until writes have finished.
there are room for X number of chunks in memory.. and if the buffer is large enough the and writes are slow the buffer can be filled up with the entire file.

3268
MC have no control where the filesystem write the data. MC just write data and the filesystem find some where to put the data.
If you get 33 fragments for a 7MB file then I guess your drive is very fragmented or very full. If you have a SSD, the fragments does not matter.

I searched around and know that the chunk size give the highest writing performance is 32k-1MB, but the other fact is 32k give me 33 fragments for a 7MB file, while 1MB give me only 2 fragments in both synchronous and asynchronous mode.

I try using synchronous mode to read and then write the whole buffer even files are on different disks, hoping that can reduce fragmentation of files.
There is no differers from synchronous and asynchronous in how the system write the file. the different is that with asynchronous  mode the file is copied by reading and writing at the same time and should only be used if the source and target are totally different drives.


It helps more if files being copied are write once and read many times, like program files.
Not sure what you mean by that. but how many fragmentation a files gets have nothing to do with how many times you read it.

Not sure what you are asking or suggestion ?

3269
Support and Feedback / Re: Commandline field history
« on: March 18, 2014, 15:03:26 »
The commandfield do remember its history.

Press F4 when focus is in the field and the drop down is show,  is it empty ?

3270
$argcount, $arg[...] are hardcoded variables that exits if script is run with parameters.

Code: [Select]
@var $exclude = "";
@var $n;
for( $n = 0; $n < $argcount; $n++ )
{
  if( StrLen( $exclude ) > 0)
  {
    $exclude += " "
  }
  $exclude += $arg($n);
}

EXCLUDE list is space separate, so the above part adds a space between them.
Since the command line field also separate by space. you need to quote paths when entering them, if they have space in them.. the space character are kept in $arg[..] so no need to readd quotes..


3271
Not sure.. but I thing it does not like it when you are reading and writing to the same variable..
Code: [Select]
$str = $str + ";" + $arr[$n]
Change that to
Code: [Select]
$str += ";" + $arr[$n];
So that it will then be.
Code: [Select]
@var $arr = GetSelectedPaths();
@var $len = arrayCount($arr)
@var $n
@var $str = $arr[0]
@var $new;
for( $n = 1; $n <= $len-1; $n++)
{
   $str += ";" + $arr[$n];
}
SetClipboardText($str);

3272
I guess that Windows does not give the camera a device letter like  E: F: or some other alphabet letter.
Since MC does not use the Windows Shell (because it is slow, does not always show the truth, eats a lot more memory and many other reasons), it can currently only see devices that Windows assign a device letter to. So if Windows does not assign a drive letter to it, it is not a storage device.
And since Windows does not connect it as a storage device, There is no file systems access to it, To access it require special protocol that MC currently do not support.




3273
The way you have mentioned, "search for everything in the location you want to delete" - the problem is the location has 20 folders and I want to search only in 15 folders. The search panel doesn't allow me to do search in multiple folders.
You can enter multiple paths and separate then with ";" eg  "C:\MyFolder1;C:\MyFolder2;C:\MyFolder3"
Or you can exclude folders in the "Exclude filter box"

Is there a way to do a scripting. If yes, just give some pointers and I will attempt to do it.

There is some scripting.. But not sure if it helps
http://multicommander.com/docs/customcommands_list#mc.filesearch.search

or more advanced, scan the filesystem and find the file you want to delete your self
http://multicommander.com/docs/multiscript/functions/filesystem

3274
Delete using filter is disabled since it is not fixed yet.. But you can use search..

Start Search panel
search for everything in the location you want to delete
Then right click on a .txt file an select "exclude .txt" and they are removed from search result.
sort by ext. (so that files and folders are not mixed.)
then select all files. (do not select the folders)
press delete to delete all the selected files. (what should be all files except the .txt file that you excluded)

3275
Support and Feedback / Re: Delete Selected Folder in Tree
« on: March 12, 2014, 15:31:04 »
are other more important stuff to do. specially if you work with a very large code base.

I'm also a developer.. and I'm just a bit curious. So If you don't mind.. How large is the code base of MC ?

I run a tool last year that counted SLOC (Source lines of code)
and it was then around 650k SLOC  (3de party libs/dlls NOT included in that)

Pages: 1 ... 127 128 129 130 [131] 132 133 134 135 ... 189