私は、毎晩ループのように名前を変更したい画像が10個あります。私は、次のないバッチファイル書いている:私は、しかし、私はいくつかの問題を抱えている、私の画像数がちょうど増加するのでループになるこの書き換えたいのですがDOSでのループ&可変算術バッチ
@echo off
cls
ren image10.jpg imagetemp.jpg
ren image1.jpg image10.jpg
ren image2.jpg image1.jpg
ren image3.jpg image2.jpg
ren image4.jpg image3.jpg
ren image5.jpg image4.jpg
ren image6.jpg image5.jpg
ren image7.jpg image6.jpg
ren image8.jpg image7.jpg
ren image9.jpg image8.jpg
ren imagetemp.jpg image9.jpg
exit
を - 私のスクリプトは、ちょうど終了し、シェルウィンドウは出力のいずれかを見ることなく終了します(出力を見るためにすべての "レン"を "エコー"に変更しました)。私が前に言ったように
cls
ren image59.jpg imagetemp.jpg
ren image1.jpg image59.jpg
FOR %a IN (2 59) DO (
set t = %a% - 1
ren image%a%.jpg image%t%.jpg
)
ren imagetemp.jpg image58.jpg
exit
は、私はどちらか「aは予想外である」を取得、または私がしようとすると%%に変更したときに、それだけでクラッシュするとウィンドウが閉じます。ここに私の現在の試みです。任意のヒント?一つ
エラーが何であるかを確認するには、「一時停止」を入れてみてください。また、 '%a%'ではなく '%% a'を使ってみてください。 –
ありがとう... %% aを使用していますが、まだtを設定またはアクセスできません。 – Darrrrrren
私はちょうどcmdで少し実験を実行しましたが、バッチは数字を扱うことができないので、tは動作しません。 aを259に設定した場合、tを - 1に設定すると、258ではなく "259 - 1"にエコーされます。また、setを使用すると、等号の間にスペースがない場合にのみ動作するように見えます'set t =%a% - 1'のようにしか動作しません。 –