• The Four Hundred
  • Subscribe
  • Media Kit
  • Contributors
  • About Us
  • Contact
Menu
  • The Four Hundred
  • Subscribe
  • Media Kit
  • Contributors
  • About Us
  • Contact
  • Mass Rename of IFS Files

    September 30, 2009 Hey, Ted

    I find Qshell a powerful tool for manipulating IFS files, but some Qshell features make me long for my MS DOS batch file programming days. A case in point is the ability to rename files in mass. Let me show you what I mean.

    I want to rename the files with a .txt extension so that they have a .csv extension instead. I only want to rename .txt files, and I only want to rename the files in a certain directory. In MS DOS, I would have used a rename command with wildcards in both arguments.

    ren *.txt *.csv
    

    Try the same thing in Qshell and you get an error.

    mv *.txt *.csv
    mv: 001-0085 Too many arguments specified on command.
    mv: 001-3017 usage:
        mv [-f | -i] source_file target_file
        mv [-f | -i] source_file ... target_dir
    

    Please don’t tell me that I have no choice but to rename the files one by one.

    –Chuck

    The Unix shells predate MS DOS, Chuck, so Microsoft had the advantage of circumventing some of the Unix shells’ less desirable features. I don’t know if they purposely did so or not.

    But to answer your question, you can rename files in bulk. Use the following three-line script.

    for file in *.txt; do mv "$file" "$(basename $file txt)csv"; done
    

    Here’s how it works:

    The “for” loop runs once for each file that has a .txt extension. The basename utility returns the name of a file without the trailing txt extension. That is, “customer.txt” becomes “customer.”. Yes, the period is not stripped off. Qshell appends “csv” to the name.customer.csv. and passes it to the mv command, which interprets it as the second parameter.

    mv customer.txt customer.csv
    

    The mv renames the file.

    If file names can have blanks in them, use this command sequence instead.

    for file in *.txt; do base=$(basename "$file" txt); mv "$file" "$base"csv; done
    

    –Ted



                         Post this story to del.icio.us
                   Post this story to Digg
        Post this story to Slashdot

    Share this:

    • Share on Reddit (Opens in new window) Reddit
    • Share on Facebook (Opens in new window) Facebook
    • Share on LinkedIn (Opens in new window) LinkedIn
    • Share on X (Opens in new window) X
    • Email a link to a friend (Opens in new window) Email

    Tags:

    Sponsored by
    Manta Technologies

    The Leader in IBM i Education!
    Need training on anything i?
    Manta is all you need.

    Courses and competency exams on:
    · IBM i operations
    · System Management and Security
    · IBM i Programming Tools
    · Programming in RPG, COBOL, CL, Java
    · Web Development

    SQL, DB2, QueryProduct features:
    · Runs in every popular browser
    · Available 24/7/365
    · Free Student Reference Guides
    · Free Student Administration
    · Concurrent User License
    · Built-In IBM i Simulator

    You can download our 200-page catalog and take sample sessions at MantaTech.com

    Share this:

    • Share on Reddit (Opens in new window) Reddit
    • Share on Facebook (Opens in new window) Facebook
    • Share on LinkedIn (Opens in new window) LinkedIn
    • Share on X (Opens in new window) X
    • Email a link to a friend (Opens in new window) Email

    Sponsored Links

    System i Developer:  RPG & DB2 Summit in Minneapolis, October 13-15; 3 days of serious training
    Manta Technologies:  Fall Sale on i training courses! Order by October 15 and SAVE 25%
    Halcyon Software:  Automated operations software for IBM i i5/OS - for as little as $25 a day!

    IT Jungle Store Top Book Picks

    Easy Steps to Internet Programming for AS/400, iSeries, and System i: List Price, $49.95
    The iSeries Express Web Implementer's Guide: List Price, $49.95
    The System i RPG & RPG IV Tutorial and Lab Exercises: List Price, $59.95
    The System i Pocket RPG & RPG IV Guide: List Price, $69.95
    The iSeries Pocket Database Guide: List Price, $59.00
    The iSeries Pocket SQL Guide: List Price, $59.00
    The iSeries Pocket Query Guide: List Price, $49.00
    The iSeries Pocket WebFacing Primer: List Price, $39.00
    Migrating to WebSphere Express for iSeries: List Price, $49.00
    Getting Started With WebSphere Development Studio Client for iSeries: List Price, $89.00
    Getting Started with WebSphere Express for iSeries: List Price, $49.00
    Can the AS/400 Survive IBM?: List Price, $49.00
    Chip Wars: List Price, $29.95

    Subprocedure Return Values–Food for Thought When PC5250 Run the Same Doesn’t Run

    Leave a ReplyCancel reply

Volume 9, Number 30 -- September 30, 2009
THIS ISSUE SPONSORED BY:

WorksRight Software
Help/Systems
Halcyon Software

Table of Contents

  • Subprocedure Return Values–Food for Thought
  • Mass Rename of IFS Files
  • When PC5250 Run the Same Doesn’t Run

Content archive

  • The Four Hundred
  • Four Hundred Stuff
  • Four Hundred Guru

Recent Posts

  • Welcoming The New IBM i Chief Architect And Other New Top Brass
  • A Deep Dive Into That Power S1112 Entry Power11 Server
  • Guru: Beyond Three-Part Naming – Running SQL Across Remote IBM i Systems
  • How IBM Bolstered IBM i Resilience In The Summer Tech Refreshes
  • IBM i PTF Guide, Volume 28, Number 26
  • Power Systems Has A Great Quarter; System Z, Not So Much
  • Does AI Mark The End Of The ERP Era?
  • Guru: Deterministic Application Development With AI
  • What IBM’s Got Cooking In Db2 For i In The Summer TRs
  • IBM i PTF Guide, Volume 28, Number 25

Subscribe

To get news from IT Jungle sent to your inbox every week, subscribe to our newsletter.

Pages

  • About Us
  • Contact
  • Contributors
  • Four Hundred Monitor
  • IBM i PTF Guide
  • Media Kit
  • Subscribe

Search

Copyright © 2025 IT Jungle