Modifying sequential filenames with padded numbers

50 views (last 30 days)
Jason
Jason on 7 Jan 2026 at 11:06
Edited: Jason on 7 Jan 2026 at 18:00
Hello, I am trying to create some file names to save a setr of images and have so far done this:
>> filenames = "clock_" + string(1:8) + ".jpg";
>> filenames'
ans =
8×1 string array
"clock_1.jpg"
"clock_2.jpg"
"clock_3.jpg"
"clock_4.jpg"
"clock_5.jpg"
"clock_6.jpg"
"clock_7.jpg"
"clock_8.jpg"
I'd like to improve on this and have the numers like this:
"clock_001.jpg"
"clock_002.jpg"
"clock_003.jpg"
and to be able to change the starting value. For example, start at 11 would be:
"clock_011.jpg"
"clock_012.jpg"
"clock_013.jpg"
and as a last request I'd like to prefix the current datetime using now()
Thanks

Accepted Answer

Stephen23
Stephen23 on 7 Jan 2026 at 17:17
Edited: Stephen23 on 7 Jan 2026 at 17:53
Avoid superfluous type conversion, REPMAT, and concatenation of data into one string array.
dt = datetime('now','Format','d-MMM HH_mm_ss');
nv = 1:48;
ez = compose("IM_SaperaSave_%03d_%s.tif", nv(:),dt)
ez = 48×1 string array
"IM_SaperaSave_001_7-Jan 17_16_18.tif" "IM_SaperaSave_002_7-Jan 17_16_18.tif" "IM_SaperaSave_003_7-Jan 17_16_18.tif" "IM_SaperaSave_004_7-Jan 17_16_18.tif" "IM_SaperaSave_005_7-Jan 17_16_18.tif" "IM_SaperaSave_006_7-Jan 17_16_18.tif" "IM_SaperaSave_007_7-Jan 17_16_18.tif" "IM_SaperaSave_008_7-Jan 17_16_18.tif" "IM_SaperaSave_009_7-Jan 17_16_18.tif" "IM_SaperaSave_010_7-Jan 17_16_18.tif" "IM_SaperaSave_011_7-Jan 17_16_18.tif" "IM_SaperaSave_012_7-Jan 17_16_18.tif" "IM_SaperaSave_013_7-Jan 17_16_18.tif" "IM_SaperaSave_014_7-Jan 17_16_18.tif" "IM_SaperaSave_015_7-Jan 17_16_18.tif" "IM_SaperaSave_016_7-Jan 17_16_18.tif" "IM_SaperaSave_017_7-Jan 17_16_18.tif" "IM_SaperaSave_018_7-Jan 17_16_18.tif" "IM_SaperaSave_019_7-Jan 17_16_18.tif" "IM_SaperaSave_020_7-Jan 17_16_18.tif" "IM_SaperaSave_021_7-Jan 17_16_18.tif" "IM_SaperaSave_022_7-Jan 17_16_18.tif" "IM_SaperaSave_023_7-Jan 17_16_18.tif" "IM_SaperaSave_024_7-Jan 17_16_18.tif" "IM_SaperaSave_025_7-Jan 17_16_18.tif" "IM_SaperaSave_026_7-Jan 17_16_18.tif" "IM_SaperaSave_027_7-Jan 17_16_18.tif" "IM_SaperaSave_028_7-Jan 17_16_18.tif" "IM_SaperaSave_029_7-Jan 17_16_18.tif" "IM_SaperaSave_030_7-Jan 17_16_18.tif"
  1 Comment
Jason
Jason on 7 Jan 2026 at 18:00
Edited: Jason on 7 Jan 2026 at 18:00
Thats perfect and slightly less complicated - thankyou

Sign in to comment.

More Answers (0)

Categories

Find more on Characters and Strings in Help Center and File Exchange

Tags

Products


Release

R2024b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!