User`s guide

Chapter 18 Scripting XgOS Commands 353
Example: Move and Rename Files
cat /bin/mv
#> Rename files
/*
* (C) 2004,2005 XSIGO SYSTEMS Inc. All rights reserved. This material may not
* be reproduced, displayed, modified or distributed without the express prior
* written permission of the copyright holder.
*
* Author: David Allison
* Email: dallison@xsigo.com
*
* $Id$
* $Date$
* $Revision$
* $Author$
*
* Description :
*/
if (args.size() < 2) {
throw "usage: mv file... dest"
}
var allfiles = []
for (var i = 0 ; i < args.size() - 1; i++) {
var files = glob (args[i])
foreach file files {
allfiles.append (file)
}
}
var dest = args[args.size() - 1]
var s = System.stat (dest)
var movetodir = false
if (s != null) {
if (s.S_ISDIR()) {
movetodir = true
}
}
if (allfiles.size() != 1 && !movetodir) {
throw "mv: Cannot move multiple files to a non-directory"
}
foreach file allfiles {
println ("moving " + file + " to " + dest)