#include <iostream.h>#include <vector.h>#include "FilePath.h"#include "ListFiles.h"#include "MatchWild.h"const int kNoErr=0;const int kErr=-1;void printUsage(){	cerr << "Usage: rename oldname newname (wildcards may be used)" << endl;	cerr << "   or: rename -v" << endl;}void printInfo(){	cout << "rename v1.0\n";	cout << "Jun 17 1996\n";	cout << "by Joseph J. Strout (joe@strout.net)" << endl;}int renameOne( const char *what, const char *toWhat ){	FilePath src=what, dest=toWhat;	if (src.FileType() == kNonexistant) {		cerr << "rename: " << (String)src << " not found" << endl;		return kErr;	}	else if (!src.Rename(toWhat)) {		cerr << "rename: Couldn't rename " << (String)src		     << " to " << (String)dest << endl;		return kErr;	}	return kNoErr;}int rename( const char *what, const char *toWhat ){	if (!IsWild(what)) {		return renameOne( what, toWhat );	}	StringList list = ListFiles();	int status=kNoErr;	char newname[255];	String response;	for (int i=0; i<list.size() && response!="Q"; i++) {		if (MatchWild(list[i],what)) {			ReplaceWild(newname,80, toWhat);			if (response!="A") {				cout << "Rename " << list[i] << " to " 				     << newname << " [Yes/No/All/Quit]? ";				cin >> response;				response = Uppercase(response(0,0));			}			if (response=="Y" || response=="A") {				if (renameOne( list[i], newname ) == kErr)				status = kErr;			}		}	}}int main( int argc, char **argv ){	String arg1, arg2;	if (argc == 2 || argc==3) {		arg1 = argv[1];		if (arg1 == "-v" || arg1 == "-V") {			printInfo();			return kNoErr;		}	}	if (argc != 3) {		printUsage();		return kErr;	}	return rename( argv[1], argv[2] );}