1 名前:デフォルトの名無しさん [2012/04/21(土) 22:37:58.49 ] 拡張子が .cmd または .bat のバッチファイルのスクリプティング(プログラミング)に関わる 質問,テクニック(JScript,Perl等の埋め込みなど含む),関連情報のためのスレです。 ※何でも無理矢理バッチでやろうとせず、WSH等の使用も検討しましょう。 前スレ 【.cmd】 バッチファイルスクリプト %8 【.bat】 toro.2ch.net/test/read.cgi/tech/1315844420/ 【.cmd】 バッチファイルスクリプト %7 【.bat】 hibari.2ch.net/test/read.cgi/tech/1298873550/ 【.cmd】 バッチファイルスクリプト %6 【.bat】 hibari.2ch.net/test/read.cgi/tech/1277465356/ 【.cmd】 バッチファイルスクリプト %5 【.bat】 pc12.2ch.net/test/read.cgi/tech/1242268171/ 【.cmd】 バッチファイルスクリプト %4 【.bat】 pc12.2ch.net/test/read.cgi/tech/1229955189/ 【.cmd】 バッチファイルスクリプト %3 【.bat】 pc11.2ch.net/test/read.cgi/tech/1217860043/ 【.cmd】 バッチファイルスクリプト %2 【.bat】 pc12.2ch.net/test/read.cgi/tech/1197881068/ 【.cmd】 バッチファイルスクリプト %1 【.bat】 pc11.2ch.net/test/read.cgi/tech/1178281991/
29 名前:デフォルトの名無しさん mailto:sage [2012/05/03(木) 19:18:08.15 ] for %i in (*) do @echo\a とかでもおかしい表示になってたのにデバッガ開いたら正常になった 原因はfor臭い
30 名前:デフォルトの名無しさん mailto:sage [2012/05/03(木) 19:23:35.98 ] >>22 XPでよくコマンドプロンプト表示がバグることがあるけど、 あれのMS公式見解ってないのかね? エンドユーザにPCの情報採取してもらうのに dir/a|findstr ほにゃらら とかやらせて、DOS窓のスクショを送ってもらうんだけど 前にコンソール表示のバグらしき事象に騙されたことがあったんだけど、 リダイレクトで万が一既存ファイルを上書いてしまうリスクを考えると、 エンドユーザにリダイレクトはさせたくないんですよね
31 名前:デフォルトの名無しさん mailto:sage [2012/05/03(木) 19:26:59.27 ] | clip ならよかんべ
32 名前:デフォルトの名無しさん mailto:sage [2012/05/03(木) 19:31:38.85 ] >>28 ピリオドはやめとけ echo > echo.txt for %i in (txt) do @echo.%i
33 名前:デフォルトの名無しさん mailto:sage [2012/05/03(木) 19:34:57.69 ] >>28 \もやめとけ md echo echo >echo\aaa.txt for %i in (aaa.txt) do @echo\%i
34 名前:デフォルトの名無しさん mailto:sage [2012/05/03(木) 20:08:24.03 ] echoで改行だけを出力する時困り申す
35 名前:デフォルトの名無しさん mailto:sage [2012/05/03(木) 20:14:10.01 ] scripting.cocolog-nifty.com/blog/2008/11/echo-3741.html
36 名前:デフォルトの名無しさん mailto:sage [2012/05/05(土) 00:00:21.17 ] >>18 は無理なのかな。
37 名前:デフォルトの名無しさん mailto:sage [2012/05/05(土) 01:15:10.65 ] CMDCMDLINE
38 名前:デフォルトの名無しさん mailto:sage [2012/05/05(土) 01:50:32.71 ] 無理無駄無用
39 名前:デフォルトの名無しさん mailto:sage [2012/05/05(土) 22:12:33.58 ] %*
40 名前:デフォルトの名無しさん mailto:sage [2012/05/26(土) 11:26:56.87 ] プログラムを実行したときにプログラム内の処理でキー入力させられるものがありますが それらをbatファイルから入力させることは可能でしょうか?
41 名前:デフォルトの名無しさん mailto:sage [2012/05/26(土) 12:42:34.47 ] >>40 SET /? をよく読むんだ
42 名前:デフォルトの名無しさん mailto:sage [2012/05/26(土) 14:51:14.05 ] setって変数を宣言するものですよね? コマンドプロンプトで動作するプログラム(mysqlとかsqlite3)を実行中に標準入力を受け付けてるところに指定した文字列を入力したいだけなんですが set pass=1234 mysql -u root -p REM パスワード入力 REM ここでパスワード入力待ちになる REM ここで変数passを入力したい
43 名前:デフォルトの名無しさん mailto:sage [2012/05/26(土) 15:05:15.12 ] ああ、そっちか 標準入力のリダイレクトでダメなら、バッチファイルだけでは辛いかも
44 名前:デフォルトの名無しさん mailto:sage [2012/05/26(土) 18:16:39.01 ] お前には無理
45 名前:デフォルトの名無しさん mailto:sage [2012/05/27(日) 07:50:43.58 ] >>42 set pass=1234 echo pass|mysql -u root -p ではどうですか?
46 名前:デフォルトの名無しさん mailto:sage [2012/05/27(日) 10:48:16.26 ] >>45 試してみたのですが入力されませんでした
47 名前:デフォルトの名無しさん mailto:sage [2012/05/27(日) 11:32:20.43 ] >>46 バッチファイルにパスワードを晒すぐらいなら、普通に mysql -u root --password=1234 でやれよw
48 名前:デフォルトの名無しさん mailto:sage [2012/05/27(日) 12:18:47.20 ] パスワードだけでなくその後にsqlも実行したいのです・・・
49 名前:デフォルトの名無しさん mailto:sage [2012/05/27(日) 12:34:45.05 ] それならこれでいいだろ mysql -u root -pパスワード データベース名 < hoge.sql
50 名前:デフォルトの名無しさん mailto:sage [2012/05/27(日) 13:45:14.71 ] そうなると標準入力へはできないってことですか?
51 名前:デフォルトの名無しさん mailto:sage [2012/05/27(日) 15:15:53.18 ] そこまで意欲的に質問する暇があったらググれ
52 名前:デフォルトの名無しさん mailto:sage [2012/05/27(日) 15:44:07.22 ] どうもググってもbatファイルできるような記事が見当たらず・・・ 別の所で聞いてきます
53 名前:デフォルトの名無しさん mailto:sage [2012/05/27(日) 15:48:56.09 ] 翻訳:ググるよ面倒なので他人を利用するぞ
54 名前:45 mailto:sage [2012/05/27(日) 16:10:13.24 ] >>46 ごめん環境変数は参照時は%で括るんだったorz set pass=1234 echo %pass%|mysql -u root -p
55 名前:デフォルトの名無しさん mailto:sage [2012/05/28(月) 15:47:33.84 ] autohotkeyとか使っとけよ セキュリティgdgdになるけど
56 名前:デフォルトの名無しさん mailto:sage [2012/05/28(月) 18:24:18.67 ] おまえらど素人をあんまり甚振るなよ >>41 が答えだろ set /p pass=enter password mysql -u root --password=%pass%
57 名前:デフォルトの名無しさん mailto:sage [2012/05/29(火) 00:38:44.56 ] >>41-43 の流れだと対話的に入力させたいわけではなく、対話型プログラムを自動化したいって意味だと思うが? まあ>>40 が不明瞭だしその後のレスも結局何がしたいのか説明できていないが
58 名前:デフォルトの名無しさん mailto:sage [2012/05/29(火) 01:50:20.43 ] >>54 set /? を,見ればすぐ分かることを仕込んでどんな相手なのか判断してたのかと 思って読んでたよw
59 名前:デフォルトの名無しさん mailto:sage [2012/05/29(火) 02:18:43.40 ] どうみても釣だろ
60 名前:デフォルトの名無しさん mailto:sage [2012/06/13(水) 18:47:03.35 ] ある時刻になったら stop ってコマンドを自動で入力させることってできる?
61 名前:デフォルトの名無しさん mailto:sage [2012/06/13(水) 21:07:40.69 ] 質問になってませんね
62 名前:デフォルトの名無しさん mailto:sage [2012/06/13(水) 22:10:33.28 ] at
63 名前:デフォルトの名無しさん mailto:sage [2012/06/21(木) 02:28:07.82 ] 質問です。 大量にデータがあるファイル内の[開始文字列]と[終了文字列範囲内]の文字を抽出するにはどうしたらいいのでしょうか。 分かりやすく例えますと、htmlファイル内の 検索範囲開始文字列:http から 検索範囲終了文字列:.html までをファイルに追記書き出しすると言うほうが分かりやすいでしょうか。 通常のhtmlファイル内には複数のURLがあるので、 私が指定している方法ですと、htmlファイル内のURLが 指定ファイルに列挙される形になります。 結果のファイルサンプルです。 ----------result.txt---------- hogehoge.com/index.html hogehoge.com/hello_world.html hogehoge.com/hogehoge.html hogehoge.co.jp/index.html hogehoge.co.jp/programming.html hogehoge.co.jp/debughtml ------------------------------ 外部コマンドラインツールを利用してもOKです。
64 名前:デフォルトの名無しさん mailto:sage [2012/06/21(木) 02:31:11.43 ] そして、>>42 ですが、 set pass=1234 mysql -u root -p mysqlが パスワード入力 ルーチンロード mysqlがユーザからのパスワード入力を待機 ここでmysqlに%pass%のデータを送信させる。(ようするにパイプ) じゃないかなって思います。
65 名前:デフォルトの名無しさん mailto:sage [2012/06/22(金) 22:15:57.46 ] >>63 for/? set/? if/? echo/?
66 名前:デフォルトの名無しさん mailto:sage [2012/06/23(土) 01:04:24.75 ] >>65 Split.CMD というバッチファイルをダウンロードしてきて やってみたのですが、指定された文字を含む行が表示されるだけで 開始文字列から終了文字列まで、などの指定で一部分を切り出す事ができませんでした。。
67 名前:デフォルトの名無しさん mailto:sage [2012/06/23(土) 06:13:58.31 ] そのやる気のなさと知識レベルだと、教えてもらってもだめだろうから、 素直にあきらめるがよろし。
68 名前:デフォルトの名無しさん mailto:sage [2012/06/23(土) 19:56:00.92 ] それよくあるバグだな @ECHO OFF REM 使用法: 切り出し.CMD 開始文字列 終了文字列 ファイル SETLOCAL ENABLEDELAYEDEXPANSION (FOR /F "delims=[] tokens=1*" %%0 IN ('FIND /N /V ""') DO ( IF "!FLAG!"=="1" SET FLAG=2 IF "!FLAG!"=="3" SET FLAG=4 SET "LINE=%%1" if defined line SET "LINE=!LINE:%1=!" if defined line IF NOT "!LINE!"=="%%1" SET FLAG=1 SET "LINE=%%1" if defined line SET "LINE=!LINE:%2=!" if defined line IF NOT "!LINE!"=="%%1" SET FLAG=3 IF "!FLAG!"=="1" ECHO=%%1 IF "!FLAG!"=="3" ECHO=%%1 IF "!FLAG!"=="3" GOTO :EOF IF "!FLAG!"=="2" ECHO=%%1 ) )<%3
69 名前:デフォルトの名無しさん mailto:sage [2012/06/23(土) 23:25:47.79 ] レスありがとうございます。 C:\TEST>切り出し-2chTEST.CMD 234 789 test.txt 1234567890 C:\TEST> testファイルの中身です。 -----test.txt----- HelloWorld サンプルです 1234567890 Sample [EOF] --------------------------- どうも23456789と切り出ししてくれなくて困ってます。
70 名前:デフォルトの名無しさん mailto:sage [2012/06/24(日) 00:06:38.11 ] 用途が違うな
71 名前:デフォルトの名無しさん mailto:sage [2012/06/24(日) 00:12:02.93 ] for find set echo で作れ
72 名前:デフォルトの名無しさん mailto:sage [2012/06/24(日) 07:56:08.12 ] >>69 どっちにしろ、! を含むファイルでおかしくなるとかあるから、素直にあきらめて vbs とかでやれよ。
73 名前:デフォルトの名無しさん mailto:sage [2012/06/24(日) 19:08:22.13 ] console2が結構まともに動くと思ったけどヒストリなしか。 なかなかこれといったcmd, powershellがまともに動くマルチタブのターミナルが出てこないな。
74 名前:デフォルトの名無しさん mailto:sage [2012/06/26(火) 18:12:31.62 ] >>72 はい。そうしてみます。 ありがとうございました。
75 名前:デフォルトの名無しさん mailto:sage [2012/06/30(土) 15:34:24.45 ] 指定したディレクトリ以下にあるファイル名にスペースがあったらすべてアンダーバーに置き換える バッチお願いします
76 名前:デフォルトの名無しさん mailto:sage [2012/06/30(土) 15:50:19.40 ] > 拡張子が .cmd または .bat のバッチファイルのスクリプティング(プログラミング)に関わる > 質問,テクニック(JScript,Perl等の埋め込みなど含む),関連情報のためのスレです。 丸投げするスレじゃないぞ。 あと、個人的には... > ※何でも無理矢理バッチでやろうとせず、WSH等の使用も検討しましょう。 の方がいいと思う、バッチで文字列操作は結構トラップ多いから。
77 名前:デフォルトの名無しさん mailto:sage [2012/06/30(土) 15:51:32.15 ] pushd %1 && for %%I in ("* *") do ( set xxx="%%~I" call ren "%%~I" %%xxx: =_%% )
78 名前:デフォルトの名無しさん mailto:sage [2012/06/30(土) 16:47:01.97 ] >>77 ありがとうございます これをサブフォルダ内まで効果を及ばせるのって可能でしょうか
79 名前:デフォルトの名無しさん mailto:sage [2012/06/30(土) 21:10:04.77 ] pushd %1 && for /r %%I in ("* *") do ( set xxx="%%~nxI" call ren "%%~I" %%xxx: =_%% )
80 名前:デフォルトの名無しさん mailto:sage [2012/06/30(土) 22:14:41.84 ] /rを追加でできるんですね、覚えておきます ありがとうございました
81 名前:デフォルトの名無しさん mailto:sage [2012/07/05(木) 03:05:34.99 ] 質問なんですがちょっと長いです、申し訳ないです C:\a\とD:\a\内のfile.datの更新日時を比較して、C:\a\file.datのほうが新しい場合、それをD:\a\にコピーするバッチを作りました 00 for %%c in (C:\a\file.dat) do set cdate=%%~tc 01 set cdate=%cdate:~2,2%%cdate:~5,2%%cdate:~8,2%%cdate:~11,2%%cdate:~14,2% 02 for %%d in (D:\a\file.dat) do set ddate=%%~td 03 set ddate=%ddate:~2,2%%ddate:~5,2%%ddate:~8,2%%ddate:~11,2%%ddate:~14,2% 04 if %cdate% GTR %ddate% xcopy "C:\a\file.dat" "D:\a\" /e /y 00で更新日時を取得して、01で「2012/07/05 02:36」を「1207050236」に変換します 02と03も同じようなことをして、04で比較とコピーを行います それで今回、フォルダbやcなどが増えそうなので、folders.txtに名前を書かれたフォルダ全てを扱うためのバッチを作り直したのですが、 これがよく分からんのですが思ったように動きません 作り直したと言ってもFOR文をネストしただけなのですが 00 for /f %%f in (C:\folders.txt) ( 01 for %%c in (C:\%%f\file.dat) do set cdate=%%~tc 02 set cdate=%cdate:~2,2%%cdate:~5,2%%cdate:~8,2%%cdate:~11,2%%cdate:~14,2% 03 for %%d in (D:\%%f\file.dat) do set ddate=%%~td 04 set ddate=%ddate:~2,2%%ddate:~5,2%%ddate:~8,2%%ddate:~11,2%%ddate:~14,2% 05 if %cdate% GTR %ddate% xcopy "C:\%%f\file.dat" "D:\%%f\" /e /y 06 ) 05を伏せる代わりにpauseを入れて観察したところ、01と03に問題があるようで、file.datを見つけられていないようでした 少し粘ったのですが無理そうなので、「他の方法」を使いたいのですが、私の知識は浅すぎて皆目検討がつきません そこで皆さんに「他の方法」を教えていただきたいのです。どうかよろしくお願いしますm(_ _)m
82 名前:デフォルトの名無しさん mailto:sage [2012/07/05(木) 03:17:23.65 ] robocopy
83 名前:デフォルトの名無しさん mailto:sage [2012/07/05(木) 03:36:21.24 ] xcopy /d setlocal
84 名前:デフォルトの名無しさん mailto:sage [2012/07/05(木) 14:20:02.17 ] >>82 >>83 robocopyなんて便利なものがあったとは・・・目から鱗です 本当にありがとうございましたm(_ _)m
85 名前:初心者さん [2012/07/05(木) 18:27:23.50 ] @echo off :loop set /a p = p + 1 ping localhost -n 1 > nul cls echo %p%%% if /i "%p%"=="100" goto:f goto :loop :f echo finish
86 名前:デフォルトの名無しさん [2012/07/10(火) 20:04:55.55 ] 調べ方がわからないのでここにたどり着きました フォルダ内にあるファイルをアクロバットリーダーを使って印刷するバッチです 印刷は出来るのですがpdf以外のファイルがあるとエラーが出て それが大量なのでいまいち使いづらいです pdfのみに絞るもしくは、他のファイルは無視をする方法教えてくれませんか 〜〜〜〜〜〜〜〜〜〜〜〜 for %%i in (*) do ( START ACRORD32.EXE /n /t %%i ) 〜〜〜〜〜〜〜〜〜〜〜〜
87 名前:デフォルトの名無しさん mailto:sage [2012/07/10(火) 20:19:02.99 ] for %%i in (*.pdf) do ( START ACRORD32.EXE /n /t %%i )
88 名前:デフォルトの名無しさん [2012/07/10(火) 22:05:30.31 ] >>87 ありがとうございます;;
89 名前:デフォルトの名無しさん mailto:sage [2012/07/14(土) 13:04:36.13 ] 自分自身がUACの管理者承認モードで 動いてることを検出できるバッチファイルの作り方おしえれ
90 名前:デフォルトの名無しさん mailto:sage [2012/07/14(土) 15:04:20.91 ] title /?
91 名前:デフォルトの名無しさん mailto:sage [2012/07/14(土) 17:34:05.47 ] バッチファイルで、「管理者として実行」されているか?「整合性レベル:低」か?を判定する。(その2)
92 名前:デフォルトの名無しさん mailto:sage [2012/07/14(土) 17:41:16.31 ] titleに付けないようにできるからな
93 名前:デフォルトの名無しさん mailto:sage [2012/07/18(水) 16:59:27.47 ] 異なる拡張子のファイルを複数バッチに投げたときに 拡張子ごとのファイルパスをsetする方法を教えてください
94 名前:デフォルトの名無しさん mailto:sage [2012/07/18(水) 21:32:19.99 ] for %%I in (%*) do echo %%~xI あとは自分で考えろバカ
95 名前:デフォルトの名無しさん mailto:sage [2012/07/19(木) 21:44:23.72 ] >>94 ありがとう バカですんません
96 名前:デフォルトの名無しさん [2012/07/20(金) 08:19:03.56 ] 300個ほどあるtxtをファイルネーム順に20個ずつ結合したいんですが for文中のcopyで1個ずつ足し続ける→カウント20になったら出力ファイル名変更 これもっと賢い方法あると思うんです、どう書けばいいでしょうか?
97 名前:デフォルトの名無しさん mailto:sage [2012/07/21(土) 01:50:31.10 ] ない
98 名前:デフォルトの名無しさん [2012/07/21(土) 04:18:40.67 ] for文中のrenで1個ずつファイル名末尾に識別子を足し続ける→カウント20になったら識別子変更 copy *識別子.txt group識別子.txt これで入出力が1回ですんで時間短縮になりました
99 名前:デフォルトの名無しさん mailto:saga [2012/07/21(土) 16:37:15.19 ] はあ?あほか なわけない
100 名前:デフォルトの名無しさん mailto:sage [2012/07/21(土) 16:39:53.52 ] いったいどこのioが減ったと思ってるの?おばかさん
101 名前:デフォルトの名無しさん mailto:sage [2012/07/22(日) 00:30:28.46 ] ファイル名を変更するioが増えるわな
102 名前:デフォルトの名無しさん mailto:sage [2012/07/22(日) 00:36:37.15 ] ファイル1+ファイル2=ファイルA ファイルA+ファイル3=ファイルB ファイルB+ファイル4= …x20 みたいな事を考えてたんじゃないかと想像してみる。
103 名前:デフォルトの名無しさん mailto:sage [2012/07/22(日) 01:31:00.23 ] ioが分かってないだけだと思う
104 名前:デフォルトの名無しさん mailto:sage [2012/07/22(日) 14:47:17.27 ] 質問です。 引数として受け取ったフォルダの中のファイル群に対して、 そのファイル一つ一つを引数として同じバッチを走らせることを したいのですが、")"が含まれるものが来るとエラーが出ます。 -------------------- echo "%1" のファイルorフォルダチェック echo %~a1|find "d" if %ERRORLEVEL% EQU 0 ( echo "%~1" はフォルダです。 echo "%~1" の1階層下にあるファイルを対象にした処理に移ります。 for %%f in (%~1\*) do start /wait %~0 %%f ) else ( echo "%~1" はファイルです。 ) -------------------- >\* の使い方が誤っています。 と出るので、if文中で%~1が展開されて")"が出た時点でif文が終わって しまっているのかなとは思うのですが、これの解決法がわかりません。 どうすれば回避できるでしょうか?
105 名前:デフォルトの名無しさん mailto:sage [2012/07/22(日) 15:55:40.56 ] ""で囲めばか
106 名前:デフォルトの名無しさん mailto:sage [2012/07/22(日) 16:27:40.03 ] すいません、""は試したけど、場所を間違ってました…
107 名前:デフォルトの名無しさん mailto:sage [2012/07/23(月) 18:04:01.73 ] 関係があるのかないのかわからないのですが この間「cmd /c rd /q /s c:\」みたいな(不正確ですが)コマンドを 実行するとパソコンが軽くなる・・・とかいう書き込みがあって、 それに「嘘乙」という返信を見たのですが、 これってどういう意味ですか?
108 名前:デフォルトの名無しさん mailto:sage [2012/07/23(月) 18:14:00.40 ] そりゃ軽くなるさ。OSも無くなってきれいさっぱりと軽くなるさ。 HDD内部全部消せってコマンドだから。
109 名前:デフォルトの名無しさん mailto:sage [2012/07/23(月) 18:44:59.01 ] 嘘乙
110 名前:デフォルトの名無しさん mailto:sage [2012/07/24(火) 00:51:30.37 ] 重さが変わるわけないだろ
111 名前:デフォルトの名無しさん [2012/07/24(火) 01:39:26.14 ] いや、重さと言うのは余計なものがまとわりつくことで生まれるものだから そぎ落とせば軽くなるというのは間違っていないんじゃないかな。 ただ、本体まで消してしまうと空間しか残らないが。
112 名前:デフォルトの名無しさん mailto:sage [2012/07/24(火) 15:44:21.40 ] コマンドを実行すると、ウインドウが閉じてしまいます 詳細を見たいんですけど、どうすればいいですか?
113 名前:デフォルトの名無しさん mailto:sage [2012/07/24(火) 16:19:14.15 ] バッチの最後にpauseを
114 名前:デフォルトの名無しさん mailto:sage [2012/07/24(火) 16:37:25.64 ] バッチの最後にcmdを
115 名前:デフォルトの名無しさん mailto:sage [2012/07/26(木) 04:07:39.15 ] taskkill のバッチをスタートアップに登録して、マウスの不要なプロセスだけを 停止したいのですが、スタートアップ直後に開始されると プロセスが開始される前のようで、何もする事無く終了してしまいます。 繰り返しを行いたいのですが、どうすればいいのでしょうか・・・?
116 名前:デフォルトの名無しさん [2012/07/26(木) 06:16:06.15 ] taskkillの戻り値が0以外の間ループ
117 名前:デフォルトの名無しさん mailto:sage [2012/07/26(木) 14:22:56.41 ] ファイル名のスペースと半角記号をリネームしたいのですが、上手くいきません。 どう修正したらいいのでしょうか? @echo off :loop call :suba %1 shift if exist %1 goto loop :suba set pname=%* if not defined pname echo ファイル名を指定してください&pause&&goto :eof set pname="%pname:"=%" call :sub %pname% echo 置換:^<%r%^> %pname% ===^> %fname% rem if %r% equ ON if exist %dir%%fname% echo 既存ファイルがあって置換できない ren %pname% %fname% goto :eof
118 名前:デフォルトの名無しさん mailto:sage [2012/07/26(木) 14:23:25.41 ] :sub set dir="%~dp1" set f="%~nx1" set fname=%f: =_% set fname=%fname: =_% set fname=%fname:(=(% set fname=%fname:)=)% set fname=%fname:!=!% set fname=%fname:#=#% set fname=%fname:;=;% set fname=%fname:$=$% set fname=%fname:%=%% set fname=%fname:&=&% set fname=%fname:'=’% set fname=%fname:===% set fname=%fname:[=(% set fname=%fname:]=)% set fname=%fname:{=(% set fname=%fname:}=)% set fname=%fname:~=^% set fname=%fname:~=ー% set fname=%fname:+=+% set fname=%fname:,=、% if %f% neq %fname% (set r=ON) else (set r=OFF) goto :eof
119 名前:デフォルトの名無しさん mailto:sage [2012/07/26(木) 20:01:03.77 ] あれ?「*」ってうまく置換できないな
120 名前:デフォルトの名無しさん mailto:sage [2012/07/27(金) 01:19:56.69 ] >>117 バッチファイルに拘らず Flexible Renamer を使う
121 名前:117 mailto:sage [2012/07/27(金) 15:14:18.83 ] >>120 ありがとうございます。 バッチファイルから使えるかわからない、上にちょっと難しそうですね。 :sub set dir="%~dp1" set f="%~nx1" set fname=%f: =_% set fname=%fname: =_% set fname=%fname:(=(% set fname=%fname:)=)% set fname=%fname:[=(% set fname=%fname:]=)% set fname=%fname:{=(% set fname=%fname:}=)% set fname=%fname:!=!% set fname=%fname:+=+% set fname=%fname:$=$% set fname=%fname:;=;% set fname=%fname:'=’% set fname=%fname:#=#% set fname=%fname:,=、% if %f% neq %fname% (set r=ON) else (set r=OFF) goto :eof まではいけましたが、=%&^~がうまくできないっぽいですね。
122 名前:デフォルトの名無しさん mailto:sage [2012/07/27(金) 23:32:10.40 ] そういうのはRegular Renamerというコマンドラインなソフト呼んでやってるな。 RR.exe /tr tr/=%&^~/=%&^〜/ のようにtr演算子で変換するだけで済むし。 まあ、なに使ってもいいが、面倒なリネームにはリネームソフトの方が楽ってこと。
123 名前:デフォルトの名無しさん mailto:sage [2012/08/07(火) 15:49:12.33 ] バッチを実行するとそのディレクトリにクリップボードにある文字列を元に フォルダを作成させるバッチできますか?
124 名前:デフォルトの名無しさん mailto:sage [2012/08/07(火) 15:53:46.44 ] >ディレクトリにクリップボードに
125 名前:デフォルトの名無しさん mailto:sage [2012/08/07(火) 18:46:49.21 ] mshta.exeを使えばできるよ
126 名前:デフォルトの名無しさん mailto:sage [2012/08/07(火) 19:06:00.05 ] mshta clipboarddata 検索
127 名前:デフォルトの名無しさん mailto:sage [2012/08/15(水) 21:55:14.07 ] powershell使ってもできるな
128 名前:デフォルトの名無しさん mailto:sage [2012/08/16(木) 15:04:05.98 ] JclipOutというバッチソフトを使ってできました ありがとう
129 名前:デフォルトの名無しさん mailto:sage [2012/08/17(金) 16:15:41.30 ] >>128 検索したけど見つからん