• ベストアンサー

renameコマンドについて

FTP先のファイル名を以下のように変更したいです。 rename *.txt *.csv これを実行すると 550 *.txt: The filename, directory name, or volume label syntax is incorrect. となってしまいます。 ワイルドカードは使用できると思っていたのですが、 何がいけないのでしょうか? ちなみに rename 111.txt 111.csv と指定した場合は問題なくできます。 複数のファイルを変換したいので困っています。 環境はWindows2000です。宜しくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • bob_n
  • ベストアンサー率35% (610/1732)
回答No.1

いちど、ダウンロードして、 ソフトなどで、ranemeして、アップロードするのはどうでしょうか? http://download.goo.ne.jp/software/category/win/util/file/name/ext/ http://www.atmarkit.co.jp/fnetwork/rensai/netpro10/ftp-responsecode.html FTPのレスポンスコード550について書かれています。 *.txtは不正確なファイル名とゆうことになり、実行できないのだと思います。

otzotz
質問者

補足

bob_nさん、レスありがとうございます。 とても参考になりました。 今回変換したいファイルはFTP先で作成される ファイルでして、ファイル名もファイルの数も不明です。 拡張子だけは明確です。 その為、ダウンロードする前に存在するファイル名を 一旦変換(拡張子を変換)して、それらのファイルをダウンロードするという手順を考えました。 ダウンロード後、クライアント側で処理し、処理完了した後、先程変換したファイルを削除したい為です。 (ダウンロード後、処理完了して削除するまでの間に 新たにファイルが作成されるとダウンロードしていない ファイルまで削除されてしまう可能性があると思い、 ファイル名の変換が必要と考えました。) こういう経緯で困っています。 何か良い案はありますでしょうか?

その他の回答 (3)

  • bob_n
  • ベストアンサー率35% (610/1732)
回答No.4

参考にならないかもしれませし、プログラミンができないと意味がないですが、...参考になればと書きました。 フリーのプログラミング言語で『なでしこ』とゆうのがあります。 http://nadesi.com/ トップペ-ジです。 http://nadesi.com/doc/index.htm リファレンスの 機能順<>50音順を選び、 ★命令の一覧(機能順) ネットワーク(nakonet.dll)からFTPを選ぶと命令の一覧がでます。 拡張子変更 拡張子抽出 FTPファイル列挙 FTPコマンド送信 などの命令が使えると思います。

otzotz
質問者

お礼

bob_nさん、レスありがとうございます。 早速こちらのサイトも眺めてみます。 皆様に色々と教えて頂いて本当に助かりました。 また、色々とアドバイスお願いします。

  • notnot
  • ベストアンサー率47% (4900/10358)
回答No.3

ftp>ls *.txt LOCALFILENAME.txt で、手元マシンのファイルにls結果を得ることが出来ます。 ftp>ls LOCALFILENAME.txt はだめですよ。 ftp>ls * LOCALFILENAME.txt のように、第二オペランドにローカルファイル名を指定します。 あと、 ftp>prompt Interactive mode Off . ftp>mget *.txt でワイルドカードでまとめてget出来ます。

otzotz
質問者

お礼

notnotさん、レスありがとうございます。 早速上記の動作を確認できました。 こんなこともできるのですね!勉強になります。 また教えて下さい。

  • Kuppycat
  • ベストアンサー率50% (109/216)
回答No.2

処理完了後、ダウンロードしたものと同じファイルを個別で削除指定してはいかがでしょう? ループ処理になるので少々時間がかかることになりますが。

otzotz
質問者

お礼

Kuppycatさん、レスありがとうございます。 一括でファイル名の変換ができないとなれば 1つずつ処理するしかないようですね。 もう少し教えてほしいのですが、 FTP先のファイル名の取得方法はあるのでしょうか? (FTPコマンドで) lsやDirを入力すれば一覧が表示されたりはしますが、 例えばバッチファイル化してそのようなことは可能でしょうか? (ファイル(拡張子はtxt)を1つ適当でも構わないので選択して、それをダウンロードし、その後削除する) UNIXコマンドというかその辺りに関しては 詳しくないので、アドバイス頂けたら嬉しいです。