たっぴ(パソコン質問掲示板)

ログイン

メニュー
■ トップ
■ 質問する
■ 回答を見る・回答する
■ 参加者のひろば / テーマ別
■ コミュニケーション道場
■ 「たっぴ」の使い方
■ 「たっぴ」のルール・心得

エキスパート トータルランキング
Rank ニックネーム E-Point
1 位 sriver 1372 p
2 位 げんき(^^)/ 810 p
3 位 うにゅ 607 p
4 位 mory 512 p
5 位 saru 510 p
6 位 Clark 481 p
7 位 taknt 474 p
8 位 459 p
9 位 あき◆ 387 p
10 位 おやぢ 366 p
※月間ランキング参加者がありませんでした。



E-Point還元プログラム
E-Point 月間獲得ポイントより回答者様へ現金を還元いたします。

対象還元金額
全員に(E-Point)×20円
支払いは5,000円以上からとなります。
還元金の支払いはご指定銀行口座への振込みとなります。

『マナーの良い質問者』マーク
以下の条件を満たす質問者様には
  『マナーの良い質問者』マーク

が付きます。
  1. 登録していて
  2. 「終了」していない質問がひとつ以下で
  3. 終了した質問で「○○○○○」という言葉の投稿がある
3番目の条件はひらがなです。もうお判りですね。(漢字、カタカナもOKかも。。。)
ぜひマークをGetしてください。









《戻る

No.質問・回答おれい
[123442] バッチ for /f 〜 での半角括弧のエスケープについて
使用しているOS: Windows 7
使用しているPCのメーカー/機種/型番:
関係するアプリケーション名/バージョン:
関係する機器の機種名/型番:
エラーメッセージなど(原文のまま):
その他:

はじめまして、よろしくお願いします。

そもそも、
対象フォルダのJPGファイルをサイズ順にソートして連番リネームしたいのです。

ところが、
対象フォルダのJPGファイル名に半角括弧が付いていると、
以下のように途中で切れて取得されてしまいます。
057(1).jpg → 057


半角括弧のエスケープができれば良いのですが、
このような場合どうやってエスケープするのでしょうか。


念のため中間ファイルにリダイレクトしてみると、
DIRの時点では半角括弧は取得できているようです。

連番リネーム方法はこちらを参考にさせていただきました。
http://hoge.sub.jp/blog/archives/2009/08/20090827_0.html

以上よろしくお願いします。


以下はバッチファイルの内容です。

@echo off
setlocal enabledelayedexpansion

::スペース対策で「"」を付ける
set "DIR_HOME=%~dp0"
set "DIR_TGET=C:\Users\xxxxxx\Pictures\test\"
set "WRK_FILE=%DIR_HOME%sort.txt"
set IDX=0
set PAD=6

::対象フォルダのJPGファイルをサイズ順にソートして連番リネーム
for /f %%i in ('dir /b /o:s "%DIR_TGET%*.jpg"') do call :SUB1 "%%i"

::中間ファイルにリダイレクトしてみる
::dir /b /o:s "%DIR_TGET%*.jpg" >%WRK_FILE%
::for /f %%i in (%WRK_FILE%) do call :SUB1 "%%i"

pause
endlocal
exit /b 0

::-------------------------
::連番リネームサブルーチン
::-------------------------
:SUB1
set /a IDX=%IDX% + 1
set NUM=00000%IDX%
::echo !NUM:~-%PAD%!

::値確認
echo %DIR_TGET%%~1

::わざとエラーにしてみる
::%DIR_TGET%%~1

::ここでリネームする予定
exit /b 0

あやたか (未登録)   2012年10月21日16:07


[123443] 自己解決しました。
エスケープ以前に書き方に問題があったのですね。


for /f %%i in ('dir /b /o:s "%DIR_TGET%*.jpg"') do call :SUB1 "%%i"



for /f %%i in ('dir /b /o:s "%DIR_TGET%*.jpg"') do (
call :SUB1 "%%i"
)


一緒に考えてくださった方々。
ありがとうございました。

あやたか (未登録)   2012年10月21日18:12


( 参照数:6569   日平均:1.6 )
 
〜 回答の受付を終了しました 〜


回答、お礼・報告などメッセージの追加

ニックネーム:

まったく新しい内容の質問、質問者以外の方の質問は、メニューの「質問する」から新たに質問してください。

詳細: 内容を詳しく言うと。。。

※「たっぴ」に登録すると質問にポイントが付けられます。 その他便利な機能も使えます!》新規登録 》Help

※http://.....は自動的にハイパーリンクに変換します。
※<pre></pre>が使用できます。     ※引用は行の先頭に「>」を付けてください。自動的に色が付きます。




利用規約 特定商取引に関する法律に基づく表記 プライバシーポリシー 問合せ