

Windowsのbatファイルでrenameをするにはどうすればよいでしょうか?
カレントディレクトリ
└ A
というディレクトリ構造があって、Aの中には「a.txt」があるとします。
カレントディレクトリから、
「rename "./a/A.txt" B.txt」
と書いてあるbatファイルを起動しても、「a.txt」の名前が変更されません。
「指定したパスが見つかりません。」と出てきてしまいます。
ダブルクォーテーションを取ったりつけたり、絶対パス、相対パスを書いたりと
いろいろ試しましたがだめでした。
何か方法はないでしょうか?
No.4ベストアンサー
- 回答日時:
No1です。
すいません。A と a の違いに目が行ってしまってました。
>たとえばdirコマンドなどは「/」でも通ります。
通りません。/ はオプションの指定と解釈されます。
ただ、念のため確かめてみると、
"./filename" の時はdirでもrenameでも大丈夫ですね。copyなどでもOK。
"./dir/filename" だとdirでもrenameでも駄目です。
質問はこのケースに当たります。
ところが、リダイレクトの場合は、more < "./dir/filename" や more < "dir/filename" はOKですね。
なんとなくですが、「 " "で囲めば / も使えるようにしようと思ったけど途中でやめた」 感があります。
>なぜ同じコマンドプロンプトでコマンド毎に使えたり使えなかったりするのでしょう?
コマンドのプログラムの書き方次第なので、コマンドによっては、 / を受け付けたりします。
dir rename copy などはcmd.exeの中に組み込まれているので、同じ動きのはず。
別のプログラムである、fc.exe とかは / も使えますね。find.exe もOK。findstr.exe は駄目。
なるほど、そもそも統一されていないということなんですね。
基本的にWindowsを使う場合は、パス名は「\」を使ったほうが無難なようで…
わかりやすい説明、大変参考になりました。ありがとうございました。
No.3
- 回答日時:
コマンドラインスイッチとしてスラッシュを使う場合があります。
ということで、パス区切りにスラッシュが使えない。ということもあるでしょう。
# https://www.ipa.go.jp/security/awareness/vendor/ …
APIに直接渡す文字列としてならスラッシュでパス区切りに出来るかも知れませんが…。
コマンドライン引数だと、そのプログラムが使用している解析処理次第…でしょうね。
No.2
- 回答日時:
windowsですよね?
スラッシュではなくバックスラッシュ(円マーク)では?
この回答への補足
ありがとうございます。無事できました。
…が、ちょこっと調べてみたところ、Windowsではパスの区切りは「\(バックスラッシュ)」とのことですが、たとえばdirコマンドなどは「/」でも通ります。
なぜ同じコマンドプロンプトでコマンド毎に使えたり使えなかったりするのでしょう?
本文とそれた質問で大変申し訳ありませんが、もしよろしければご回答よろしくお願いします。
No.1
- 回答日時:
お書きのファイル配置なら、
>「rename "./a/A.txt" B.txt」
じゃなくて
「rename "./A/a.txt" B.txt」
ですね。まあ、Windowsは英字の大文字小文字を区別しないので、これが原因でエラーにはなりませんが。
ただ、大文字小文字に無頓着ということは、全角半角にも無頓着で間違えてたりしないでしょうか?
Windowsでも全角半角は区別されますので、正確に同じように指定する必要があります。
コマンドプロンプトの上に、ファイルをドロップするとフルパスファイル名が得られるので、それをコピペするのが間違いないと思います。
この回答への補足
すみません質問文のミスでした。
「rename "./a/A.txt" B.txt」
ではなく
「rename "./A/a.txt" B.txt」
で、名前変更ができないということです。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(プログラミング・Web制作) 図に示す階層構造で,現在のディレクトリ(カレントディレクトリという)が*印のディレクトリであるとき, 2 2022/11/16 10:55
- その他(プログラミング・Web制作) ファイル名の一部をbatで変更したい batファイルを使って、以下のようにファイル名の一部を変更した 3 2023/02/21 20:09
- Windows 10 renameコマンドでファイル名からアンダースコアを消す方法 5 2023/04/24 13:33
- その他(プログラミング・Web制作) フォルダ内の特定 拡張子のファイルを一括実行するBat ファイルについて 4 2022/04/17 09:51
- Visual Basic(VBA) VBAでの共有パスにつきまして 1 2023/03/04 17:24
- その他(コンピューター・テクノロジー) <a href="file:///フォルダ名/ファイル名">リンクテキスト</a>について 1 2023/04/06 22:40
- その他(開発・運用・管理) フォルダの中にファルダを作成してファイルを格納するバッチコマンド 1 2022/06/30 11:39
- Excel(エクセル) フォルダAから1つのファイルだけを、フォルダBへを移動するVBAについて 2 2022/07/25 11:45
- Excel(エクセル) 【VBA】フォルダAにある2つのファイルの内1つを、フォルダBへ。もう1つを、フォルダBへ移動したい 6 2022/07/26 08:51
- Windows 10 バッチファイルの記述法とルールについてアドバイスをお願いいたします。 1 2022/04/13 10:50
このQ&Aを見た人はこんなQ&Aも見ています
-
コマンドプロンプトの「%1」と「%~1」の違いがわからない
その他(プログラミング・Web制作)
-
コマンドプロンプトでリネーム
その他(コンピューター・テクノロジー)
-
【アクセスが拒否されました。】コマンドプロンプトでドライブにアクセスできません
その他(コンピューター・テクノロジー)
-
-
4
バッチでテキストファイルから任意の行のみ取得したい
その他(プログラミング・Web制作)
-
5
renameコマンドでファイル名からアンダースコアを消す方法
Windows 10
-
6
Windowsコマンドプロンプトのmoveコマンドが何度も構文エラーエラーを吐き出す件。
その他(プログラミング・Web制作)
-
7
コマンドプロンプトでのBATファイルで、定数文字列の記述方法
Windows Vista・XP
-
8
batである文字列内に特定の文字列が含まれているか確認したい
その他(プログラミング・Web制作)
-
9
コマンドプロンプトのエラーについて
その他(パソコン・周辺機器)
-
10
ネットワークドライブ上ファイルのrename *.*
Windows Vista・XP
-
11
SQLPLUSで結果を画面に表示しない
Oracle
-
12
moveコマンドで別のドライブにフォルダを移動
その他(OS)
-
13
バッチファイルで昨日の日付を取得
その他(プログラミング・Web制作)
-
14
oracleのimp-00002エラーについて
Oracle
-
15
Winmerge ファイルの中身は同じなのに黄色くなる
その他(OS)
-
16
コマンドプロンプトで、指定したファイルが開いているかを判別をループする方法
その他(プログラミング・Web制作)
-
17
bat 同名ファイルコピー時にリネームして保存したい
その他(開発・運用・管理)
-
18
Windowsのバッチファイルで正規表現の置換方法について…
Windows 10
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Windowsで複数のファイルを同じ...
-
ディレクトリー内のリスト出力...
-
batファイルでrenameができませ...
-
vba dir の相対パス
-
パスから最後のディレクトリだ...
-
dos変数の%~dp0は powershellで...
-
FindFirstFileとFindNextFileで...
-
ExcelをCSV書き出す場合のシー...
-
MATLAB グローバル変数の宣言
-
エクセルVBA コードが同じでも...
-
awkスクリプトでダブルクォーテ...
-
Perlで特定行から特定行までを...
-
Perlの変数に文字数制限(容量...
-
fgets で値が取得できない
-
ファイル全てを .xlsm に変更し...
-
Perl-CGI で排他制御はどうすれ...
-
ファイルの結合
-
VBA テキストファイルを読み取...
-
絶対+相対アドレスから絶対ア...
-
2つのCSVファイルをマッチング
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
batファイルでrenameができませ...
-
Windowsで複数のファイルを同じ...
-
readdir()で得られるファイル・...
-
vba dir の相対パス
-
FindFirstFileとFindNextFileで...
-
C言語でファイル名を取得
-
ディレクトリの判別
-
dos変数の%~dp0は powershellで...
-
スクロールバーを左側に、又は...
-
Net::FTPを使いファイル一覧の...
-
perlのNet::FTPで、ファイルか...
-
パスから最後のディレクトリだ...
-
コマンド「dir」の結果を、テキ...
-
テーブルの更新について
-
ファイル名と更新日付の取得に...
-
chdirがうまくできない
-
文字列$fileがファイル名として
-
Perlについて
-
フォルダの中身を知りたい
-
ディレクトリ名を取得したい
おすすめ情報