1 名前:デフォルトの名無しさん [2009/05/14(木) 11:29:31 ] 前スレ 【.cmd】 バッチファイルスクリプト %4 【.bat】 pc12.2ch.net/test/read.cgi/tech/1229955189/
552 名前:デフォルトの名無しさん mailto:sage [2010/01/15(金) 20:31:47 ] for /f "tokens=1*" %%i in (%*) do echo %j
553 名前:デフォルトの名無しさん mailto:sage [2010/01/15(金) 21:44:02 ] for /f "tokens=1*" %%i in ("%*") do echo %j だろ
554 名前:デフォルトの名無しさん mailto:sage [2010/01/16(土) 11:29:18 ] この言語はforの使い方がおかしい
555 名前:デフォルトの名無しさん mailto:sage [2010/01/16(土) 15:33:31 ] ワイルドカードを展開するコマンドにforという名前をつけてしまったのがそもそもの間違い。
556 名前:デフォルトの名無しさん mailto:sage [2010/01/16(土) 16:13:29 ] for /f "tokens=1*" %i in ("1 2 3 4") do echo %j 2 3 4 ほれ
557 名前:デフォルトの名無しさん mailto:sage [2010/01/16(土) 17:16:36 ] for /f "tokens=1*" %i in (""1 2" "3 4"") do echo %j 2" "3 4" ほれ
558 名前:デフォルトの名無しさん mailto:sage [2010/01/18(月) 15:10:32 ] set a=%* echo !a:%1=!
559 名前:デフォルトの名無しさん mailto:sage [2010/01/19(火) 10:25:24 ] @echo off copy /y E:\Program\TAB_Browser\DonutRAPT\Default.dfg "E:\Back_Up\Donut_RAPT_Default" @echo exit 今使ってるバッチファイル(バックアップファイル作成)をまんま↑に載せました。 別段支障は無いのですが、↑だと、1ファイルのバックアップしか出来ませんので、 万一、空ファイルが上書きされてしまった場合、痛いです。 (上記のバッチはドーナツ派は何となくピンと来てくれると思いますが) そこで、そのリスクを減らす為に、例えば、バッチ処理する度に、ランダムに、例えば・・ Default1.dfg、Default2.dfg、Default3.dfg のいずれかのファイル名でE:\Back_Up\Donut_RAPT_Defaultフォルダにバックアップをするには どのようにすれば宜しいでしょうか?
560 名前:デフォルトの名無しさん mailto:sage [2010/01/19(火) 11:39:09 ] ランダムの意味わかってないだろ
561 名前:559 mailto:sage [2010/01/19(火) 11:52:46 ] 1〜3までの数字をアットランダムに付けたいのですが・・。 Default1.dfgというファイル名での保存が、複数回続いても構いません。 (きっちり、1→2→3という順番で、バッチ処理する度にファイル名が変わってくれなくて構わないです)
562 名前:デフォルトの名無しさん mailto:sage [2010/01/19(火) 14:36:05 ] set /a random=%random%%%3+1 copy /y E:\Program\TAB_Browser\DonutRAPT\Default.dfg "E:\Back_Up\Default%random%.dfg"
563 名前:559 mailto:sage [2010/01/19(火) 15:29:47 ] >>562 ありがとうございます! コピー先は直しましたが、まさに目的は叶いました。 本当、感謝です!
564 名前:デフォルトの名無しさん mailto:sage [2010/01/19(火) 18:15:40 ] >>560 >>560
565 名前:デフォルトの名無しさん mailto:sage [2010/01/19(火) 19:39:38 ] >>564
566 名前:デフォルトの名無しさん mailto:sage [2010/01/20(水) 13:48:59 ] サイクリック版作りたかったら作ってみ
567 名前:デフォルトの名無しさん mailto:sage [2010/01/23(土) 03:00:27 ] >>560 >>559 の例の場合は3本のくじからの無作為抽出ってことだろ? ランダムって表現で間違っちゃいない っつーか、>>562 が物語ってるじゃん↓ > set /a random=%random%%%3+1
568 名前:デフォルトの名無しさん mailto:sage [2010/01/23(土) 21:44:08 ] >>567 560は562が書かれる前にレスの内容がわかるエスパーなんですね。
569 名前:デフォルトの名無しさん mailto:sage [2010/01/24(日) 05:15:14 ] 別に560の前の時点で、環境変数(%random%)を使えば良いのは判る訳で そこへ560の質問の意味が解からん
570 名前:デフォルトの名無しさん mailto:sage [2010/01/24(日) 12:43:25 ] iPod nano を購入しようと思っているのですが、nano のランダム再生について質問です。 現在使っている他メーカーのMP3プレイヤーのランダム再生はどうやら、 再生リストの中からランダムで選び出した曲を決まった順番で再生 しているらしいのです。 例えばフォルダの中にA,B,C,D,Eの5曲がある場合にランダム再生を実行すると、 自動的にA,C,Eを選び出し(ここは流石にランダムで選んでるようです)、 以降、A,C,E,A,C,E,...のように、同じ曲ばかりを繰り返します。 実際に少ない曲数で試したことはないのですが、 同じフォルダの中でランダム再生をしているとそのうち、 次に再生される曲がわかるようになるのでたぶん間違いないです。 で、iPod nano のランダム再生はどのような再生方法なのかに興味があります。 理想は、 ・一度流した曲は、再生リスト内の曲を全て再生するまでは再生しない。 というものです。 フォルダの中にA,B,C,D,Eの5曲がある場合、 最初にBを再生した後は、次に来る曲はA,C,D,Eのいずれかで、 次にAが選択された場合は、次に来る曲はC,D,Eのいずれか、といった再生法を望んでいます。 iPod nano の購入の参考にしたいので、 詳しくわかる方いましたらよろしくお願いします。
571 名前:デフォルトの名無しさん mailto:sage [2010/01/24(日) 12:44:52 ] iTunesとiPodの場合「ランダム」ではなく「シャッフル」と呼び、 その呼び名の通り曲順をシャッフルして再生する機能になります。 1曲ごとに再生する曲を対象全体からランダムに選ぶのではなく、 最初に対象全体をシャッフルして混ざったリストを作りそれを順番に再生する、 つまりトランプをシャッフルしてから一枚づつめくっていく様な感じになり、 あなたの希望の様に 「一度流した曲は、再生リスト内の曲を全て再生するまでは再生しない。」 と言う状態になります。 iTunes上でプレイリストを選択した状態で左下のシャッフルボタンを 押してみると、リスト内でシャッフルしてそれを順に再生している事が よく分かると思います。 (その際画面表示のソート順を通常なら左端にある曲順の数字欄に しておかないとシャッフルされる様子が見れません。曲の上部に 「名前」や「アーティスト」、「アルバム」等と書いてある左端の部分を クリックして三角が出ている状態です。その灰色のバー部分の どこをどうクリックするかで画面上の並び順が変わります。) この様に「シャッフルされたリストを作る」と言う機能なので、そのリスト内で 曲を前や後ろに飛ばしてもまた同じ部分では同じ順番で再生されます。 シャッフル機能を切って入れ直すか、最初の曲から前に飛ばしたり、 最後の曲を終わりまで再生したりすればシャッフルし直されます。 自分は普段まずシャッフル再生はしないので、今ちょっと試してみた 結果を見て回答したので、何か間違いがあるかもしれません。
572 名前:デフォルトの名無しさん mailto:sage [2010/01/24(日) 12:45:56 ] 回答ありがとうございます。 iTunesと同じなのであれば、 「再生回数」という項目もあるから、これでも確認できますね。 全部再生回数が0回の状態で再生し、 しばらくしてから再生回数を見て、飛びぬけて再生回数が少ない・多いものが無いことを確認する。 iTunesではメニューの方の「シャッフル」をよく利用します。 (下にシャッフルボタンがあるのは知らなかった…) 確かにこれは「リピートする」にチェックを入れておかないと、一巡したところで終了するので私の望んでいるタイプです。 まぁ重要なのは本当にiTunesとiPodの再生方式が同じなのか、というところですが、 同じじゃない方が不自然ですよね。 ありがとうございました。
573 名前:デフォルトの名無しさん mailto:sage [2010/01/24(日) 12:47:04 ] iPodはiTunesを持ち歩く為に作られたものですから、基本はiTunesと同じだと思っていいと思いますよ。 コンピュータでのランダムは疑似乱数関数を利用しているのが一般的です。 疑似と頭に付くように実は完全なランダムではありません。与えるパラメーターが同じなら結果は全く同じになります。 実際の利用では、パラメーターに現在の時刻を1/100秒単位で指定します。 毎回再生ボタンをコンマ何秒の単位で全く同じく押すなんて事不可能ですから、同じ順番になることはなくランダムだと言って差し支えないでしょう。 > 同じ曲ばかりを繰り返します。 一般的にプログラム上では、順番は疑似乱数でランダムに決め、更に同じ曲が出ないようにする工夫もなされています。 実際にはランダムだけど、同じようなのを繰り返したり、次のが予想した通りだと思えるのは人間の特性が関係しています。 聞き流している時には好きな曲は印象が強く残りますが、そうではない曲は聴いても記憶に残りにくいものです。 ランダム再生していると、好きな曲ばかりが印象強く残って、前にも聴いたなとか、同じのばかりかかっているなと勘違いしてしまいます。 実際に聴いて確かめるのではなく、ランダム再生時の曲名を順番に書き出してみるとわかります。 聞き流していると錯覚してしまうし、時間もかかりますからね。 > A,C,E,A,C,E,...のように、同じ曲ばかりを繰り返します そういうプログラムがされている可能性も否定はできませんが、錯覚である可能性もあります。
574 名前:デフォルトの名無しさん mailto:sage [2010/01/24(日) 12:48:00 ] 回答ありがとうございます。 >> 同じ曲ばかりを繰り返します。 >一般的にプログラム上では、順番は疑似乱数でランダムに決め、更に同じ曲が出ないようにする工夫もなされています。 基本的にどのメーカーでも、ランダム再生のロジックは同じはずだ、という意味でしょうか。 そうだと良いのですが。 自分もほんの少しだけプログラミングには触ったことがあるので、 完全なランダム再生は難しくないのになんでこのMP3プレイヤーはこうなんだ!とか一人で憤慨しています。 >> A,C,E,A,C,E,...のように、同じ曲ばかりを繰り返します >そういうプログラムがされている可能性も否定はできませんが、錯覚である可能性もあります。 確かめたわけじゃないので、確かに錯覚の可能性もあります。 それなのに言い張ったところで説得力は無いのですが、 「また同じ曲だ」「これはさっき聞いたばっかりだ」とか、曲単位で耳に残るのではなく、 曲Aがフェードアウトした後に始まるイントロは曲Cだ、という「つながり」が耳に残るんですよ。 そこから「いくつかの同じ曲を同じ順番で再生している」と思っています。 あくまで「思っている」です。 本題?のiPod購入は、前向きになっています。
575 名前:デフォルトの名無しさん mailto:sage [2010/01/24(日) 12:49:04 ] >>569 俺は>>560 が書かれてた時点でスレ見てスルーして次見たのが今だけど、 560の時点じゃ同感だったよ。ちゃんと読んでればいずれかと書いてるから 言葉の使い方間違ってるわけではないとわかるけれど。 流し読みすると 1→2→3 と要求してるように見えて ランダムって違うんじゃね?と思ったわな。 560=562だったとしても何も驚かんけどな。
576 名前:デフォルトの名無しさん mailto:sage [2010/01/24(日) 12:50:06 ] >・一度流した曲は、再生リスト内の曲を全て再生するまでは再生しない。 自分の経験上ではそうなっていると思います。 もちろん、電源が完全にオフになるとどこまで再生していたかはリセットされますが、少なくとも連続して聞いている時に同じリスト内の曲が再度かかることはないですね。 iTunesで曲を追加したり並び順を替えてもiPod側の再生順は変わりますし、1度PCに接続すると同じプレイリストを先頭から再生しても順番が変わっているように思います。 ただし、iPodやiTunesの「ランダム」というのは「万遍なく」という意味ではなく「目茶苦茶」という意味ですので、同じアーチストの曲が連続したりすることもあれば、プレイリスト内の次の曲がそのまま再生されたりもします。文字通り「目茶苦茶」です。
577 名前:デフォルトの名無しさん mailto:sage [2010/01/24(日) 16:39:24 ] ランダムフェチ?
578 名前:デフォルトの名無しさん mailto:sage [2010/01/24(日) 19:16:09 ] トラウマ?
579 名前:デフォルトの名無しさん mailto:sage [2010/01/25(月) 16:51:51 ] こんな感じで書かれてるテキストファイルがあるんだが。 ↓ 【現在】 C:\aaa/aaa/aaa.zip C:\aaa/bbb/zzz.zip C:\aaa/ccc/bbb.zip : : パスで見ると並び順は正しい。 けど、このテキストをファイル名でソートしたい。 【希望順】 C:\aaa/aaa/aaa.zip C:\aaa/ccc/bbb.zip C:\aaa/bbb/zzz.zip : : どうしてもバッチでやりたい変態です バッチ単体じゃ無理かね
580 名前:デフォルトの名無しさん mailto:sage [2010/01/25(月) 17:15:47 ] 以下のようなテキストファイルがあります。 C:/aaa/bbbb/cccccc.zip C:/bbb/ddd/aaaa.zip C:/ccc/eeeeee/bbb.zip パス的に見れば並び順は正しいですが、 これをファイル名順に並び替えたいのです。 C:/bbb/ddd/aaaa.zip C:/ccc/eeeeee/bbb.zip C:/aaa/bbbb/cccccc.zip どうしてもバッチ単体で処理したい変態です。 無理ですかね…
581 名前:デフォルトの名無しさん mailto:sage [2010/01/25(月) 19:32:21 ] del tmp? for /f %%I in ('type hoge.txt') do echo %%~nxI?%%I>>tmp1 sort tmp1>tmp2 for /f "delims=? tokens=1*" %%I in ('type tmp2') do echo %%J>>tmp3 type tmp3
582 名前:デフォルトの名無しさん mailto:sage [2010/01/25(月) 19:52:02 ] setlocal enableextensions enabledelayedexpansion del tmp.txt for /f "delims=" %%i in (lstb.txt) do ( echo %%~nxi %%i>>tmp.txt ) del out.txt for /f "tokens=1,* delims=:" %%i in ('sort tmp.txt') do ( set a=%%i echo !a:~-1!:%%j>>out.txt ) del tmp.txt
583 名前:デフォルトの名無しさん mailto:sage [2010/01/25(月) 20:48:04 ] 一時ファイル使わんとでけんのか?
584 名前:デフォルトの名無しさん mailto:sage [2010/01/25(月) 21:22:56 ] >>581 %%~nxI ?%%I とすればいいよ もし<tab>が入力できれば %%~nxI<tab>%%I delims=<tab> でもいいが難度が高いかな?
585 名前:デフォルトの名無しさん mailto:sage [2010/01/25(月) 22:12:16 ] >>584 ?????
586 名前:デフォルトの名無しさん mailto:sage [2010/01/25(月) 23:12:59 ] sort順だろ %%~nxI?%%I だと数字が?より前になる %%~nxI ?%%I なら数字が より後ろになる
587 名前:デフォルトの名無しさん mailto:sage [2010/01/26(火) 00:51:04 ] そこまで考えてなかった
588 名前:デフォルトの名無しさん mailto:sage [2010/01/26(火) 02:28:17 ] ぶっ
589 名前:デフォルトの名無しさん mailto:sage [2010/01/26(火) 12:25:06 ] >>586 sortコマンドの並び替えはascii順じゃないので数字より前に?が来る。 タブもNG。ソート順ではスペースが前に来るんで、スペース入りのファイル名があると おかしくなる。 多分sortでファイル名に出来ない文字で一番若いのは(0f) 区切り文字をこれにしたらとりあえずokみたい。
590 名前:デフォルトの名無しさん mailto:sage [2010/01/26(火) 12:28:24 ] 書き込んだら文字消えたorz コマンドプロンプト上ではアスタリスクみたいに見える文字(外字?)
591 名前:デフォルトの名無しさん mailto:sage [2010/01/26(火) 14:56:08 ] ^a 二重線の「 が最初 cscript hoge.vbs|sort for i=0 to 25 wscript.echo chr(i),i next for i=27 to 127 wscript.echo chr(i),i next
592 名前:デフォルトの名無しさん mailto:sage [2010/01/26(火) 19:53:21 ] どっちもメモ帳で入力できない
593 名前:デフォルトの名無しさん mailto:sage [2010/01/26(火) 20:41:27 ] コマンドプロンプト上からecho ^A>>hoge.bat とか。 ^AはCtrl+A
594 名前:デフォルトの名無しさん mailto:sage [2010/01/26(火) 22:06:24 ] メモ帳で入力できるものを使えば?
595 名前:デフォルトの名無しさん mailto:sage [2010/01/29(金) 18:36:32 ] ショートカット作ってアイコン変えると窓のアイコンが変わってくれるけど バッチファイル中から自力でアイコン変える方法ってないですか? フリーウェア等の外部ツールでもいいんですが。
596 名前:デフォルトの名無しさん mailto:sage [2010/01/31(日) 22:42:41 ] ある
597 名前:デフォルトの名無しさん [2010/01/31(日) 22:51:11 ] バッチファイル内で変数を保存?する方法について教えてください。 最初にパラメータとして渡されたファイル(例としてhogehoge.txtとします)を INPUTFILE=%~dpnx1 としたあとで、 RENコマンドでインプットファイルをリネームしています。 例としてhagehage.txtに変更したとします。次に CALL hogehoge.BAT "%INPUTFILE%" を呼び出して戻ってきた後で 再度もとの名前に戻そうと REN "hagehage.txt" "%INPUTFILE%" とすると、%INPUTFILE%がhogehoge.txtから途中でリネームしたhagehage.txtに変わってしまっています。 どうにかリネームしてもhogehoge.txtを保持する方法は無いでしょうか。 バッチファイルは中間言語方式だったことを思い出してorz状態です。
598 名前:デフォルトの名無しさん mailto:sage [2010/01/31(日) 22:57:12 ] あほ
599 名前:デフォルトの名無しさん mailto:sage [2010/01/31(日) 23:10:23 ] >>597 無理して日本語を使わなくてもいいですよ。 BATでおk
600 名前:デフォルトの名無しさん [2010/01/31(日) 23:46:03 ] ほんじゃBATコピペ 最初に受け渡されたファイルネームはhogehoge.txtとします。 @ECHO ON SET INPUT=%~dpnx1 SET INPUTPATH=%~dp1 SET INPUTFILE=%~nx1 REN "%INPUT%" "hagehage.txt" REM ここでhagehage.txtにファイルネーム変更 CALL %EXECNAME% "c:\hagehage.txt" REN "%INPUTPATH%hagehage.txt" "%INPUTFILE%" REM ここでhogehoge.txtに戻そうとしてもINPUTFILEにhagehage.txtが入ってる。 最後の%INPUTFILE%の中身がいつの間にか新ファイル名に変わってるので困っております。
601 名前:デフォルトの名無しさん mailto:sage [2010/01/31(日) 23:58:51 ] callした先で書き換えちゃってるんだろ call先でsetlocal 〜 endlocalしとけ
602 名前:デフォルトの名無しさん mailto:sage [2010/02/01(月) 00:00:36 ] 追記 call先のファイルをいじれないんだったらcallの呼び出しをsetlocal〜endlocalで囲む
603 名前:デフォルトの名無しさん mailto:sage [2010/02/01(月) 00:03:46 ] そうかcallの前後をsetlocal 〜 endlocalしとけ
604 名前:デフォルトの名無しさん [2010/02/01(月) 00:24:56 ] >>601 Danke.
605 名前:デフォルトの名無しさん [2010/02/01(月) 08:43:15 ] 存在するファイルが無いと怒られるんだがなして? IF EXIST %INPUTPATH%work.tmp tmpdel IF EXIST %INPUTPATH%work.temp tempdel ECHO %INPUTPATH%work.tmp %INPUTPATH%work.temp echo そんなファイル無いんじゃゴルァ これも試したけど駄目だった。 ファイルは絶対に存在する。 IF EXIST %INPUTPATH%work.tmp goto tmpdel IF EXIST "%INPUTPATH%work.tmp" tmpdel IF EXIST "%INPUTPATH%work.tmp" goto tmpdel
606 名前:デフォルトの名無しさん mailto:sage [2010/02/01(月) 11:12:49 ] %INPUTPATH% が \ で終わっていないに 1000ガバス。 とりあえず IF EXIST "%INPUTPATH%\work.tmp" goto tmpdel じゃないか?
607 名前:デフォルトの名無しさん mailto:sage [2010/02/01(月) 11:22:30 ] 606で終わってるけど質問する前に echo onするなり echo IF EXIST %INPUTPATH%work.tmp goto tmpdelするなりして 何をチェックしようとしてるのか確認しろ
608 名前:デフォルトの名無しさん mailto:sage [2010/02/01(月) 14:25:44 ] >>606 いや、\は付いてる
609 名前:デフォルトの名無しさん mailto:sage [2010/02/01(月) 14:59:02 ] >>598
610 名前:デフォルトの名無しさん mailto:sage [2010/02/01(月) 16:29:43 ] >>608 work.tmp が wark.tmp とか work,tmp なのが原因でファイルが存在しないに 1200カパズ。 for の中で遅延展開してない、に 1500ガバス。 そもそも 607 のアドバイスのように echo の結果はどうなのよ? まさか、表示が流れて読めません、とかいう訳じゃないんでしょ?
611 名前:デフォルトの名無しさん mailto:sage [2010/02/01(月) 16:46:46 ] ここに書いた例と実際のバッチが全く別物とか。
612 名前:デフォルトの名無しさん mailto:sage [2010/02/01(月) 17:32:55 ] >>610 echoの結果も同じ。 なんでだろ?
613 名前:デフォルトの名無しさん mailto:sage [2010/02/01(月) 18:08:04 ] 同じって言葉じゃなくて具体例を出せよw 実際に使ってる内容晒したらエラー出て当たり前って内容かもしれないだろ。 おまえさんがその当たり前に気付いてないだけで。
614 名前:デフォルトの名無しさん mailto:sage [2010/02/01(月) 19:52:01 ] そもそもバッチファイル理解できてる? よければ問題が起こる最小限のコード全体を貼ってくれ
615 名前:デフォルトの名無しさん mailto:sage [2010/02/01(月) 21:30:59 ] delするのに存在確認は不要だろあほか
616 名前:デフォルトの名無しさん mailto:sage [2010/02/01(月) 22:11:39 ] カレントディレクトリから一つ下のサブディレクトリ名を取得する。 それを引数としてあるバッチに渡す。 以上を一つ下のサブディレクトリ全てについて実行するバッチって作れますか? WSHの方が良いですか?
617 名前:デフォルトの名無しさん [2010/02/01(月) 22:41:36 ] >>613 試しに ECHO "%INPUTPATH%hogehoge.txt" としたら C:\hogehoge.txt と¥付きで表示される。
618 名前:デフォルトの名無しさん mailto:sage [2010/02/01(月) 23:51:27 ] ありぃ? 分かった。 直前で作ったファイルが書ききれていなかったっぽい。 TIMEOUT1秒入れたらEXISTで見えるようになった。
619 名前:デフォルトの名無しさん mailto:sage [2010/02/02(火) 01:13:03 ] >>616 for /d %%I in (*) do ( echo call exec.bat %%I )
620 名前:デフォルトの名無しさん mailto:sage [2010/02/02(火) 01:33:15 ] >>619 すげぇ!こういとも簡単にできるとは…。 ありがとうございます。
621 名前:デフォルトの名無しさん [2010/02/02(火) 01:44:36 ] すまん。最後にもう一つだけ教えてください。 SET INPUT=%~dpnx1 ECHO %INPUT% pause これだけのバッチファイルを作って、このファイルに適当なファイルをD&Dしたら ファイルネームがフルパスで表示されると思う。 でも、どこでもいいから適当なフォルダに長江 6380.txtってファイルを作って さっきのバッチファイルにD&Dしてみてくれ。 長江で切れてしまうと思う。 これを回避するにはどうしたらいい?
622 名前:デフォルトの名無しさん mailto:sage [2010/02/02(火) 02:06:53 ] 切れてないよ
623 名前:デフォルトの名無しさん mailto:sage [2010/02/02(火) 03:22:16 ] 長江は長過ぎる 黄河にしとけ
624 名前:デフォルトの名無しさん [2010/02/02(火) 08:41:12 ] >>622 嘘お? PC3台とも切れるんだが? ちなみにスペースは全角な。 >>623 さぶぅ
625 名前:デフォルトの名無しさん mailto:sage [2010/02/02(火) 10:37:47 ] バッチファイルは全角半角スペース混じりのファイル名を正しく扱える(必要な時にちゃんと""で囲めば)。 そのコードで問題が出るなら明らかに呼び出し側の問題。
626 名前:デフォルトの名無しさん mailto:sage [2010/02/02(火) 12:24:52 ] >>625 試しにecho "%INPUT%" をしても同じ
627 名前:デフォルトの名無しさん mailto:sage [2010/02/02(火) 12:32:11 ] >>621 普通なら切れない。 切れるとしたらbatファイルの関連付けでドロップハンドラが壊れているんだろう。
628 名前:デフォルトの名無しさん mailto:sage [2010/02/02(火) 15:12:55 ] こういう話だろ scripting.cocolog-nifty.com/blog/2008/02/post_c740.html
629 名前:デフォルトの名無しさん mailto:sage [2010/02/02(火) 15:59:28 ] >>627 pgr
630 名前:デフォルトの名無しさん mailto:sage [2010/02/02(火) 16:36:56 ] >>621 半角で例示したりして芸の細かいこと
631 名前:デフォルトの名無しさん mailto:sage [2010/02/02(火) 19:55:37 ] バッチファイルにD&Dなんてするなよ 素直にコマンドプロンプトで打てばいいじゃん
632 名前:デフォルトの名無しさん mailto:sage [2010/02/02(火) 21:10:28 ] どこでもいいから適当なフォルダに長江&shutdown 6380.txtってファイルを作って さっきのバッチファイルにD&Dしてみてくれ。
633 名前:デフォルトの名無しさん mailto:sage [2010/02/02(火) 23:39:00 ] >>628 ありがと。 >>631 長いバッチで自動化したいから無理なのら。 >>632 さぶぅ。 雪降らせたのお前か。
634 名前:デフォルトの名無しさん mailto:sage [2010/02/03(水) 02:14:36 ] バッチファイルにD&Dするかぎり無理なのら。
635 名前:デフォルトの名無しさん mailto:sage [2010/02/03(水) 02:42:21 ] ドロップハンドラ作ればええのら。
636 名前:デフォルトの名無しさん mailto:sage [2010/02/03(水) 14:35:34 ] Drop on Scriptのドロップハンドラは?
637 名前:デフォルトの名無しさん [2010/02/05(金) 14:35:40 ] 累乗計算バッチだるす。
638 名前:デフォルトの名無しさん mailto:sage [2010/02/05(金) 21:19:53 ] 2の3乗 3の3乗
639 名前:デフォルトの名無しさん mailto:sage [2010/02/07(日) 14:26:03 ] 初歩的な質問ですみません。とてつもなく初心者です。 kaigi_20100205.txt kaigi20100206,txt 20100207kaigi.txt のようなファイルをrenでリネームさせて、 会議_20100205.txt 会議_20100206.txt 会議_20100207.txt のように統一させたいと思い、 色々と見よう見真似で rename.datファイルに ren kaigi*.txt 会議_*.txt ren *kaigi.txt 会議_*.txt といれてみたのですが、 会議_00207kaigi.txt 会議_gi20100206.txt 会議_gi_20100205.txt という状態になってしまいました。 これは自分のワイルドカードの使い方が根本的に間違っているのでしょうか? どなたかご教授お願いいたします。
640 名前:デフォルトの名無しさん mailto:sage [2010/02/07(日) 15:23:12 ] ワイルドカードはファイル名を保持してない
641 名前:デフォルトの名無しさん mailto:sage [2010/02/07(日) 16:48:59 ] 「kaigi_*.txt」にマッチしたファイル名を「会議_*.txt」がマッチするように書き換えるのであって、 「会議_(kaigi_*.txtの*に相当する部分文字列).txt」というようにはならない。 そしてdosには「*に相当する部分文字列」を取得する機能はないので、 setなどを利用して、自分で作ってやらなければならない。 例えばこんなふうに: @echo off setlocal set NAME1=%~n1 set NAME2=%NAME1:_=% if "%NAME1:~0,5%" == "kaigi" ( echo 会議_%NAME2:~5%.txt ) else if "%NAME1:~-5%" == "kaigi" ( echo 会議_%NAME2:~0,-5%.txt )
642 名前:デフォルトの名無しさん mailto:sage [2010/02/07(日) 17:33:56 ] @echo off for %%i in (kaigi*.txt) do ( set NAME=%%i call ren %%i %%NAME:kaigi=会議_%% ) for %%i in (*kaigi.txt) do ( set NAME=%%i call ren %%i 会議_%%NAME:kaigi=%% )
643 名前:デフォルトの名無しさん mailto:sage [2010/02/07(日) 19:24:58 ] setlocal enabledelayedexpansion for /f %%I in ('dir /b *kaigi*.txt') do @(set a=%%I set a=!a:kaigi=! set a=!a:_=! ren %%I 会議_!a!)
644 名前:デフォルトの名無しさん mailto:sage [2010/02/07(日) 19:44:18 ] >640-643 みなさん、ありがとうございます! 試してみましたところ、ばっちり動作しました。 ただ、ばっちり動作しますがプログラムの挙動を自身がまだ理解できてない状態なので これらを元に色々調べてプログラムを練ってみたいと思います。
645 名前:デフォルトの名無しさん mailto:sage [2010/02/10(水) 00:23:41 ] 5スレ目でいうのもなんか変だが、 コマンド シェルの概要 technet.microsoft.com/ja-jp/library/cc737438 (WS.10).aspx Windowsヘルプにもあるし、OSごとにリンク先違うけど、ここらへんがテンプレにあっても良くないか? コマンド ライン リファレンス technet.microsoft.com/ja-jp/library/cc778084 (WS.10).aspx バッチ ファイルを使用する technet.microsoft.com/ja-jp/library/cc758944 (WS.10).aspx こっちは、上からリンクあるからイランと思うけど。
646 名前:デフォルトの名無しさん mailto:sage [2010/02/10(水) 00:24:35 ] コマンド シェルの概要 technet.microsoft.com/ja-jp/library/cc778084.aspx アチャー
647 名前:デフォルトの名無しさん mailto:sage [2010/02/10(水) 00:25:38 ] orz
648 名前:デフォルトの名無しさん mailto:sage [2010/02/10(水) 09:53:38 ] 自分の使ってるOSのヘルプならいつでも見れるはずだが、 ヘルプすら読まずに質問するやつが多すぎるという嫌味?
649 名前:デフォルトの名無しさん mailto:sage [2010/02/10(水) 13:59:37 ] >>646 Runasなんてあったのかー
650 名前:デフォルトの名無しさん mailto:sage [2010/02/10(水) 15:52:52 ] MSのヘルプは探すのが面倒
651 名前:デフォルトの名無しさん mailto:sage [2010/02/10(水) 16:15:51 ] ヘルプより掲示板で聞いた方が早いし楽
652 名前:デフォルトの名無しさん mailto:sage [2010/02/12(金) 01:00:53 ] WindowsXPのコンソールで、 unixでいうところのsmbclientを使うには、 どのようにしたらよいでしょう? smbはもともとWindowsのプロトコルで、GUIに統合されているため、 smbclientのコマンドラインプログラムというのがあるのかないのか、 よくわからないのですが、 パスワードつきの他のマシンに起動時に自動接続するのに、 ネットワークドライブに割り当てただけではだめだったので、 それならコンソールでコマンドを実行して接続するか、と考えました。 ご存じでしたらアドバイスをお願いします。