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も見ています
-
外出時に「待たせる妻」vs イライラする「待つ夫」は日本だけ?見習いたい海外事情
夫の家事参加に積極的なイメージのある海外でも、同様の事例はあるのか。結婚カウンセラーの佐竹悦子さんに伺ってみた。
-
コマンドプロンプトの「%1」と「%~1」の違いがわからない
その他(プログラミング・Web制作)
-
ファイル名の一部を一括変更 コマンドプロンプト
Windows 8
-
【アクセスが拒否されました。】コマンドプロンプトでドライブにアクセスできません
その他(コンピューター・テクノロジー)
-
-
4
exeファイルの中身を見ることは可能ですか?
フリーソフト
-
5
コマンドプロンプトでリネーム
その他(コンピューター・テクノロジー)
-
6
バッチ処理でファイルの中身を変数に入れるやり方
その他(プログラミング・Web制作)
-
7
コマンドプロンプトでファイル名に含まれるスペースを別の文字に置換したい
その他(プログラミング・Web制作)
-
8
バッチでテキストファイルから任意の行のみ取得したい
その他(プログラミング・Web制作)
-
9
pdfファイル名の一括リネームの仕方
Excel(エクセル)
-
10
batでファイル名を変更したい(元ファイル名の一部を削除したファイル名に)
その他(プログラミング・Web制作)
-
11
VBscriptからバッチに変数を渡すには?
その他(プログラミング・Web制作)
-
12
ショートカットをデスクトップに作るコマンドを教えて下さい
その他(プログラミング・Web制作)
-
13
batである文字列内に特定の文字列が含まれているか確認したい
その他(プログラミング・Web制作)
-
14
エラーを起こす方法
Oracle
-
15
コマンドプロンプトのエラーについて
その他(パソコン・周辺機器)
-
16
[DOS] コピー先に同じファイル名がある場合、名前を変えて...
その他(プログラミング・Web制作)
-
17
Excelに、ダブルクォーテーションで始まる文字列を貼り付けると、ダブルクォーテーションが消えること
Excel(エクセル)
-
18
IPアドレス「0/16」とか「0/24」って何?
ネットワーク
-
19
コマンドプロンプトによるフォルダ内のファイル存在有無
UNIX・Linux
-
20
ファイル名の一部を変更するバッチファイル
Windows Vista・XP
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
パスから最後のディレクトリだ...
-
vba dir の相対パス
-
一覧を表示しCGI経由でファイル...
-
batファイルでrenameができませ...
-
FindFirstFileとFindNextFileで...
-
C言語でファイル名を取得
-
Windowsで複数のファイルを同じ...
-
awkスクリプトでダブルクォーテ...
-
ListBoxのデータを高速でファイ...
-
ExcelをCSV書き出す場合のシー...
-
C言語で特定の行を抽出する方法...
-
window.open でのファイル指定方法
-
fgets で値が取得できない
-
ReadLineでの読み出し行を指定する
-
CSVデータの編集の際の重複チェ...
-
ファイル出力の改行コードをLFに
-
ifstream を利用した1行分のテ...
-
配列の中に重複文字列があるか...
-
オープンしたファイルで行の連結
-
perlで、後ろの行を読んで、前...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
batファイルでrenameができませ...
-
vba dir の相対パス
-
パスから最後のディレクトリだ...
-
Windowsで複数のファイルを同じ...
-
readdir()で得られるファイル・...
-
FindFirstFileとFindNextFileで...
-
ディレクトリ名を取得したい
-
ディレクトリの判別
-
dos変数の%~dp0は powershellで...
-
Net::FTPを使いファイル一覧の...
-
Perlで フォルダ内の全て...
-
複数のCSVファイルを一つのCSV...
-
makefileでファイルをコピー(...
-
C言語でファイル名を取得
-
サーバーにある特定の拡張子フ...
-
LinuxのC言語で、ファイル名の...
-
perlのNet::FTPで、ファイルか...
-
シンボリックリンクを検出でき...
-
正規表現で、特定のファイル名...
-
ファイル名の文字コード(?)と...
おすすめ情報