Is there anyway to use uigetfile in MATLAB to select files from multiple directories? For example, if I want to select a text file from a directory named file1 and one from file2 with uigetfile, how would I do that?
Related
I have multiple .ktr transformation files in one of my folder. I've used spaces in the naming convention. So, I want to rename all those pentaho transformation files using "Spoon". Are there any steps that can rename all my files at once?
Example : I've file calles "Invoice Items.ktr".
I want to rename this file to "InvoiceItems.ktr".
There isn't a step that does "Rename" action, you need to generate a new filename and move the file to itself.
You can use this with a series of steps for this.
EDIT:
In the get file names step, in the Wildcard column, use RegEx ".*", this will select all files within that folder. In the File/Directory column you leave only the directory, not the full filename.
Is it possible to list all of the files in a directory of a certain file type, and then save them in the same directory but as a separate file type using MatLab?
In my case, I have 144 files saved as in a .fig format, but I would like to copy them as a .tif format so that I don't have to go and change each file manually.
I know I can list all the files in my directory using the dir function and I guess I could simply run for loop with i=1:length(dir) but I don't know how to isolate the files of a specific file type. I don't see filetype as a field name on the mathworks website for dir.
Thanks for any suggestions.
To list only files of type .fig:
files = dir('*.fig');
You can then loop over the names:
for k = 1:numel(files)
filename = files(k).name;
% do something with filename
end
I'm new to matlab and I've wrote a code that implements the gamma function for image processing. I generate around 300 photos named '001.jpg' to '300.jpg' and then use ffmpeg to make a video.
In the end, I only need the video result and need a command to delete all the photos generated in the directory! is there a way to do that?
If you want to remove all .jpg files in the current directory you can use the delete command with a wildcard (*)
delete('*.jpg')
If the files live in a folder other than the current directory, you can specify the directory in this way.
folder = '/path/to/my/files';
delete(fullfile(folder, '*.jpg'))
If you want to limit it to just files that have number filenames, you could do something like the following
files = dir('*.jpg');
filenames = regexp({files.name}, '^[0-9]+\.jpg$', 'match', 'once');
filenames = cellstr(cat(1, filenames{:}));
delete(filenames{:})
Adding to Suever's answer (not allowed to comment yet):
Assuming you already know the names of the images you're creating, you could save your script a 'trip' to the folder and back by creating the filenames list yourself thus:
for i=1:numOfImages
filenames(i)={strcat(num2str(i),'.jpg')};
end
delete(filenames{:})
I have a program that reads data from .trc files. But as of now, it can only read the .trc files that are in the current directory i.e the MATLAB folder. If I want it to read a file, I have to copy the file in MATLAB folder. Is there a way I can move to different directories and choose another .trc file? I have tried using dir, uigetdir etc. but nothing seems to work!
It's pretty straightforward to filter results with the dir command with a file extension if you specify the folder to search with a wildcard character in place of the file name. You can then loop over the generated list of file names in the output structure (as shown) or whatever you need to do with those files.
folderName = 'C:\Path\To\Target\Folder\';
fileList = dir(strcat(folderName, '*.trc'));
for k = 1:length(fileList)
fileHere = fullfile(folderName, fileList(k).name);
% Do what you need with the files in here
end
Is there a way in eclipse to view the code from multiple files in a temp file. So if I highlight multiple .java files I can view the code from all files concatenated top-down as a single file instead of copying/pasting the files into one ?
Could not find an eclipse way of doing it. But to use dos just cd into the package you want to merge the files and use - "copy *.java merge.java" This will merge all the files into one file called merge.java . Better than nothing.