【.cmd】 バッチファイルスクリプト %9 【.bat】at TECH
【.cmd】 バッチファイルスクリプト %9 【.bat】 - 暇つぶし2ch150:デフォルトの名無しさん
12/09/13 22:38:36.16
すみません、質問です

>dir *.txt

abc.txt
ab.txt
a.txt

>dir a?.txt

ab.txt
a.txt

なんで a.txt が表示されるのですか?
WinXPです


151:デフォルトの名無しさん
12/09/13 22:52:38.40
>>150
URLリンク(takeno.iee.niit.ac.jp)

152:デフォルトの名無しさん
12/09/13 23:01:16.61
ありがとうございます。
エクスプローラの検索だと a.txt は表示されないですね。
まぎらわしいなぁ…

153:デフォルトの名無しさん
12/09/15 15:56:44.65
ワイルドな仕様だなぁ…

154:デフォルトの名無しさん
12/09/15 16:10:57.57
骨のおれる仕事ですから。

155:デフォルトの名無しさん
12/09/19 17:43:59.23
質問よろしいでしょうか

batに放り込んだファイルをそのフォルダから指定のフォルダに移動させる
という事をやりたいのですが、ファイル名で記入するのではなく、その放り込んだ
ファイルを対象にするにはどのように表現したら宜しいでしょうか。

156:デフォルトの名無しさん
12/09/19 19:23:55.40
>>155
move %1 指定のフォルダ
の1行だけのバッチファイルにして、
そのファイルをドラッグアンドドロップでおk?

157:デフォルトの名無しさん
12/09/19 21:45:52.44
>>156
ありがとうございます。上手くいきました。

もう一つ質問させて下さい。
batに放り込んだファイルをリネームするSCRenameというbatで
動作するツールがあるのですがこれに

『指定フォルダ内の全てのファイルに適応する』

という作業をさせるには、以下の文に何を追加するべきでしょうか

URLリンク(www.dotup.org)

158:デフォルトの名無しさん
12/09/20 09:51:29.90
バッチでリネームしてるわけじゃねーからそれ。
バッチでWSH起動してるだけ。

159:デフォルトの名無しさん
12/09/20 11:16:12.54
>>157
URLリンク(qarc.info)
こっちのcscriptのパスが通ってない問題は解決した上での質問ということでいいの?

160:デフォルトの名無しさん
12/09/21 09:13:27.90
マルチポストだったのかよw

161:デフォルトの名無しさん
12/09/27 21:04:42.53
F:\aaa\bbb\test.batを実行して
F:\ccc\ddd\あああ.txtの内容を
F:\aaa\bbb\の直下にコピーしたい場合

バッチの内容を
xcopy /Y ../../ccc/ddd/あああ.txt
にしたのですが、無効なパラメータと言われます
やり方をご教授ください
ちなみにFドライブであるかどうかは変更が可能性あるので
フルパス指定は避けたいです

162:デフォルトの名無しさん
12/09/27 21:07:40.34
パスの区切りは/でなく\

163:デフォルトの名無しさん
12/09/28 01:17:45.28
コピー先も記述しろよw

164:デフォルトの名無しさん
12/09/28 17:47:29.93
cdなんだろ

165:デフォルトの名無しさん
12/09/28 23:22:24.41
C:\>tree
を実行して
出力されたツリーのファイル名の右側にサイズ、更新日を表示することは可能でしょうか?


166:デフォルトの名無しさん
12/09/29 20:22:12.58
tree/?

167:デフォルトの名無しさん
12/09/30 04:25:27.59
散々既出かもしれないけど
[]や半角スペースを含むフォルダを%nに代入して使いたいのであるが
勝手に不具合起こしてうまく行かねーよカスみたいな状況になる
どうやったら解消できるかご教授頂きたい

168:デフォルトの名無しさん
12/09/30 11:11:11.16
万能かはわからないけど、 "%n" とか "%~n" とかを使うようにする

169:デフォルトの名無しさん
12/10/14 12:57:11.59
バッチファイルにCScript埋め込む手法覚えてからそっちに逃げるようになっちまった。堕落。

170:デフォルトの名無しさん
12/10/15 02:44:17.38
バッチ程度のモノなんか動けばいいだろ。

メンドクセーのはCで書いてる

171:デフォルトの名無しさん
12/10/15 21:04:38.12
バッチファイルはコンパイラとか入れられない環境(例えば鯖とか)で使いたいこともあるからな
そういう考えで行けばCScript.exe呼ぶのは割と常套手段だと思う

172:デフォルトの名無しさん
12/10/15 23:52:40.32
誰かライブラリ作ってよ

173:デフォルトの名無しさん
12/10/16 00:36:11.06
あるだろ

174:デフォルトの名無しさん
12/10/16 01:11:22.08
@必須機能@

・配列的なもの。当然shift、unshift、pop、pushはあるよね。
・replaceは正規表現対応。先読み後読み後方参照完備。
・数値演算は正負・小数に対応。ついでによくある「Math」の関数を片っ端から実装。
・日時演算も余裕。UNIX Timeとの相互変換も簡単。
・「"」「^」「%」「)」のエスケープも気にしなくて大丈夫。
・都度if errorlevel Nなんてしなくてもtry~catchで拾えばいいか。


ここまで書いて虚しくなったんで終わる

175:デフォルトの名無しさん
12/10/16 01:11:58.88
perl「呼んだ?」

176:174
12/10/16 01:39:54.52
PowerShellかPerlを使わせてくれ


とまでは言わない
バッチ(.bat)とVBScriptだけは勘弁してくれの方向で交渉中…orz

177:デフォルトの名無しさん
12/10/16 12:47:31.71
質問なのですが

bat内で複数のbatを処理する際に

bat1 ←このbatの処理でファイル名が変化
bat2
bat3

このような状態だとbat2に処理が渡せないのですが
bat1の段階で変化したファイル名をbat2に渡すには
bat1の末尾になんと記述すれば良いのでしょうか

178:デフォルトの名無しさん
12/10/16 15:46:17.04
ない

179:デフォルトの名無しさん
12/10/16 16:12:28.02
変化したファイル名を変数に取っておけばよし。

一つのコマンドプロンプトでやっている限り変数は全部持ち越しだから。
バッチ終了で初期化されたりしない。

180:デフォルトの名無しさん
12/10/16 16:21:48.00
>>179
ご返答ありがとうございます。
すみません、よく意味が解らないのですが、具体的に何をすればいいのでしょうか

181:デフォルトの名無しさん
12/10/16 16:30:33.18
何というファイルが何という名前に変化したかっていうのが全然わからないなら絶望的だけど
それがわかるようなら例えば

:----bat1----
set filename1=hoge.txt
set filename2=fuga.txt

rename %filename1% %filename2%

:----ここでbat1終わり----

:----bat2-----
echo %filename2%

182:デフォルトの名無しさん
12/10/16 16:35:12.69
すみません、リネームですが、毎回頭にその日の日付が付くので
変化後が一定の名前ではないです
ちょっと難しそうですね。

質問を変えさせて頂きたいのですが

特定フォルダ内のファイルを全て指定したbatに放り込むのと同じ処理を
batでは出来ないでしょうか

これが出来れば、間にこのbatを挟むことでファイル名の変化も
クリアできると思うのですが、如何でしょうか

183:デフォルトの名無しさん
12/10/16 16:42:53.88
その日の日付ってわかってるならその日の日付入れるだけだろ。
何も難しいことでもない。

それでも難しいっていうならアドバイスできるレベルじゃないかも…

184:デフォルトの名無しさん
12/10/16 16:58:42.05
それだと毎日batを書き換えないといけないので手動と変わらなくなってしまいます。
一つのbatで全部処理ができる、というのを模索中です。

185:デフォルトの名無しさん
12/10/16 17:10:36.71
もしかして、バッチファイルで引数を受け取れることを知らないとかそういう話?

186:デフォルトの名無しさん
12/10/16 17:23:55.23
%DATE%なんかも全く知らない、という話かも知れん

187:デフォルトの名無しさん
12/10/16 17:33:28.10
勉強不足ですみません、一度調べてきます

188:デフォルトの名無しさん
12/10/17 16:51:24.75
実行すると指定したフォルダで一番容量が多いファイル以外を削除、もしくは
指定した容量以下のファイルを削除する、といったbatはできますでしょうか

もし可能であれば記述を教えて頂けませんか、お願い致します。

189:デフォルトの名無しさん
12/10/17 17:47:35.99
可能だけど教えてやらんよ

190:デフォルトの名無しさん
12/10/17 20:21:36.95
>>188
if "%~1" == "" goto :eof
pushd "%~1" && for /f "skip=1 delims=" %%a in ('dir /a-d /o:-s /b') do del "%%a"
popd
でどう?

191:デフォルトの名無しさん
12/10/17 23:13:03.72
>>190
ありがとうございます。
すみません、batで実行してみたのですが、何も起きませんでした。
こちら何か代入しないと行けないのでしょうか、宜しければ例をお願い致します。

192:デフォルトの名無しさん
12/10/18 00:06:09.56
190のフォルダの指定は引数かD&Dだからな?

実行ファイルでもバッチでもそうだけど貰ったものを何も考えずに
単に実行してみるってのは危険だぞ。
rd /s/q位になれば見ただけで警戒するのかもしれんが…

193:デフォルトの名無しさん
12/10/18 04:14:28.13
ごめんなさい、フォルダではなくファイルを直接ドラッグしていました
フォルダを丸ごとD&Dしたら無事動作しました。ありがとうございます。

こちらの記述ですが、もし対象フォルダが固定の時はどのように
書き換えればいいのでしょうか、C:\testとかの場合の例を教えて
頂けませんか



194:デフォルトの名無しさん
12/10/18 04:50:56.75
すみません、調べたら解りました

if "C:\test" == "" goto :eof
pushd "C:\test" && for /f "skip=1 delims=" %%a in ('dir /a-d /o:-s /b') do del "%%a"
popd

多分こうですね

195:デフォルトの名無しさん
12/10/18 19:30:39.67
よく調べたねw
よく解ったねw

196:デフォルトの名無しさん
12/10/19 07:33:25.39
pushdしてフォルダ移動した後に、&&で移動できたかのチェックしてるんだろうけど、
pushdもpopdもフォルダ移動に失敗(移動先フォルダがない)時でも
errorlevelは0だから、想定外のファイルをdelする危険があるよ

197:デフォルトの名無しさん
12/10/19 08:51:08.20
>>196
> pushdもpopdもフォルダ移動に失敗(移動先フォルダがない)時でも
> errorlevelは0だから、

デタラメ言わない。
ちょっと試せばすぐばれる嘘は言わないように。

198:デフォルトの名無しさん
12/10/19 09:27:24.84
1 if not %cd%\ == %~dp0% echo ok
2 if not %~dp0% == %cd%\ echo ok

1は通るけど2は
> echo の使い方が誤っています。
と文句言われる。何で?


199:デフォルトの名無しさん
12/10/19 09:45:30.70
>>198
%~dp0%じゃなくて%~dp0じゃね

200:デフォルトの名無しさん
12/10/19 09:49:15.88
なるほど。逆に1がエラーにならないのが不思議だけど。動けばいいや。

201:デフォルトの名無しさん
12/10/20 15:25:50.24
不思議だと思うほうが不思議だけど。どうでもいいや。

202:デフォルトの名無しさん
12/10/22 19:41:58.30
昇順もしくは降順で
最初の空きドライブのドライブレターを取得したいのですが,
やり方がよくわかりません.
できるのであれば,ご教示よろしくお願いします.

203:デフォルトの名無しさん
12/10/22 20:04:48.29
そもそも「空きドライブ」の定義は?
Windowsで使っている限り、全く何も書かれていない
ドライブなんて存在しないと思うけど。

空き容量はdirの最後の行とかfsutil volume diskfreeとかで取れる。

204:デフォルトの名無しさん
12/10/22 20:12:33.72
バッチファイル中、startコマンドで別のバッチファイルを呼び出そうとしています

start hoge.bat huga..mp4

と、引き数を呼び出しているのですが、huga.mp4の関連付けが実行されてしまいます
hoge.batに引数を与え実行させるにはどのようにすべきなのでしょうか?

205:202デフォルトの名無しさん
12/10/22 20:28:33.03
>>203
説明不足で済みません.
空きドライブの意味は,
HDDやDVD等で使われていないドライブという意味です.
よろしくお願いします.

206:デフォルトの名無しさん
12/10/22 20:52:34.40
使ってないドライブレターか…バッチで取れたっけか
WSHではドライブの一覧が取れるから逆算出来るとは思うが

207:デフォルトの名無しさん
12/10/22 20:59:16.83
diskpartのスクリプト使えばええんでないの

208:デフォルトの名無しさん
12/10/22 21:04:37.39
>>204
嘘書くと正答が得られないよw

209:204
12/10/22 21:06:51.70
すんまんせん
確かに嘘書きましたw

引き数のファイルの拡張子はtsです

では引き続きよろしくお願いします

210:デフォルトの名無しさん
12/10/22 21:09:34.38
嘘こくでね
"引用符"

211:204
12/10/22 21:24:27.34
ありがとうございます

なるほど、引用符ですか・・・
正直、コマンドへのパスも、ファイル名にも半角空白が入ることがあるので
引用符を使えないとなると色々変えなきゃならないことがあって大変ですね、、、

212:202デフォルトの名無しさん
12/10/22 21:33:24.45
>>207
diskpartだと,list volumeで一覧は表示できますが,
自動で空きドライブのドライブ文字を取得する方法がわかりません.
例えば,現在,CからHまでとY,Zにドライブが割り当てられているPCで,
IもしくはXを取得したいわけです.
引き続きよろしくお願いします.

213:デフォルトの名無しさん
12/10/22 22:37:11.95
リストが取得できたら後は何という事もないだろ。

一つのコマンドで一発で取得できるなんて思ってるのだとしたら、
そんな甘い事は忘れろ。

214:デフォルトの名無しさん
12/10/23 00:27:48.78
>>212
それはネットワークドライブをマウントするために必要ってこと?
ならpushdじゃだめか?(環境によっちゃ認証で詰まるけど)

215:デフォルトの名無しさん
12/10/23 00:42:01.05
いや単に丸投げしたいだけでしょ

216:デフォルトの名無しさん
12/10/23 01:10:35.06
わざわざ名前に「デフォルトの名無しさん」なんて入れる辺り、釣り入ってるしな。

217:デフォルトの名無しさん
12/10/23 08:13:41.44
>>212
そんな段階ならバッチ単体でやるのやめとけ
素直にWSH併用しなよ

218:デフォルトの名無しさん
12/10/23 08:25:16.47
for %%i in (c d e f g h i j k l m n o p q r s t u v w x y z) do (
subst %%i: . && subst /d %%i: && set a=%%i && goto :a )
:a
echo %a%

219:202
12/10/23 13:39:06.88
>>218
ありがとうございます.できました.
&&で分岐するんですね.なるほどと思いました.
皆さんのご指摘の通り,よくわからないので,丸投げしてしまいました.
申し訳ありませんでした.


220:デフォルトの名無しさん
12/10/23 19:43:17.49
set timeinfo=%DATE:/=%
xcopy /i /Y %cSource_dir%\aaa.txt D:\log\aaa_%timeinfo%.txt

というバッチを実行すると
D:\log\\aaa_20121023.txt は受け側のファイル名ですか、
またはディレクトリ名ですか
(F= ファイル、D= ディレクトリ)?

とでます。Fを押下するとaaa_20121023.txtが出力されますが
これを強制的にaaa_20121023.txtを出力させたいのですが
教えてください

221:デフォルトの名無しさん
12/10/23 20:57:03.21
echo F|xcopy~

222:デフォルトの名無しさん
12/10/23 21:05:30.73
xcopyの前にファイル作っておけばいいじゃん。

223:デフォルトの名無しさん
12/10/24 07:02:06.17
>>219
技術論文を書いてるんじゃないんだから、
「,.」を日常的に使うのは止めた方がいい。
無教養な専門馬鹿にしか見えないから。

224:デフォルトの名無しさん
12/10/24 07:44:53.96
>>223
こ れ  は   ひ   ど    いwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww

225:デフォルトの名無しさん
12/10/24 17:35:45.33
>>224=>>219
ご苦労さん

226:デフォルトの名無しさん
12/10/24 17:56:33.04
>>225
句読点はつけたほうがいい、馬鹿にしか見えないからwwwwwwwwwwwwwwwwwwwwww
wwwwwwwwwこうですか?wwwwwwwwwwwwwwwwwwwわかりませんwwwwwwwwwwwwwwwwwwwwww

227:デフォルトの名無しさん
12/10/24 17:57:22.59
ここは句読点のスレッドですwwwwwwwwwwwwwwwwwwwwwwwww

228:デフォルトの名無しさん
12/10/24 18:03:09.42
あたし小学3年生なんだけど、句読点で言いがかりつける人はニューロンが
足りてないんだってママがいってたwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww

229:デフォルトの名無しさん
12/10/24 18:11:56.50
URLリンク(i48.tinypic.com)
こwれwwはwwwひwwwwどwwwwwいwwwwww

230:デフォルトの名無しさん
12/10/24 18:13:44.06
え、なに?それで句読点はどうなの?それではっきりするからさwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww

231:デフォルトの名無しさん
12/10/24 23:25:45.35
特殊「,.」
一般「、。」

232:デフォルトの名無しさん
12/10/25 04:41:30.58
芝はそんなに悔しかったのか
哀れ

233:デフォルトの名無しさん
12/10/25 06:09:06.99
>>232
句読点をつけろ、ここをどこだと思ってるんだ!
wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwぶひゃひゃひゃwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww

234:デフォルトの名無しさん
12/10/25 08:54:52.99
>>232
そりゃ、今まで自分はエリートだと信じてたのが
あっさりどん底に突き落とされたんだからな。
草生やすしか切り札が無いところが、低脳度を物語ってるわな(笑

235:デフォルトの名無しさん
12/10/25 08:58:16.59
>>234
そうだな、>>223の発言によってエリートはどん底に突き落とされるよなwwwwwwwwwww
なぜならば句読点に対する指摘だからだwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
wwwwwwwwwwwwwwwwwwww句読点武装wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww

236:デフォルトの名無しさん
12/10/25 08:59:34.79
句読点について言いがかりつけることができれば無敵だ
君も今日から無敵になれる、どんなエリートよりも賢くなれるwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww

237:デフォルトの名無しさん
12/10/25 09:03:08.37
え、あいつたいしたことないよ、だってあいつ句読点があれだぜ、俺の句読点力の前では敵じゃないよwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww

238:デフォルトの名無しさん
12/10/25 09:05:02.45
技術論文を書いてるんじゃないんだから、
「,.」を日常的に使うのは止めた方がいい。
無教養な専門馬鹿にしか見えないから。

もういいよ、これが流行語大賞でwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww

239:デフォルトの名無しさん
12/10/25 09:06:01.38
句読点に言いがかりをつけたらエリートがどん底に突き落とされますwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww

240:デフォルトの名無しさん
12/10/25 09:32:40.41
心配するな、俺にはとっておきの武器がある、句読点だwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww

241:デフォルトの名無しさん
12/10/25 09:36:04.63
男「
  自慢ではありませんが、私の句読点は「、。」です。

女「
  抱いて!いますぐ!この場で!

242:デフォルトの名無しさん
12/10/25 09:37:19.04
まて、ここから先は句読点同士の戦いだ、お前は帰れwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww

243:デフォルトの名無しさん
12/10/25 09:41:35.07
句読点、句読点、句読点点ててん点、Let's Go!

244:デフォルトの名無しさん
12/10/25 10:00:43.71
俺にはエリートをどん底に突き落とす秘策がある

245:デフォルトの名無しさん
12/10/25 15:14:43.15
>>235-244
ここまで自演

246:デフォルトの名無しさん
12/10/25 20:27:47.03
2chで句読点は場違いだろw

247:デフォルトの名無しさん
12/10/25 21:15:22.26
最近のガキはすぐグズるんだな
授業もこんな感じなのか?

248:デフォルトの名無しさん
12/10/26 02:15:43.43
>>247
おいおいちゃんと句読点つけろよ、正しくはこうだろ。
最近のガキはすぐグズるんだな。
授業もこんな感じなのか?。
句読点によってお前はどん底に突き落とされたwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww

249:デフォルトの名無しさん
12/10/26 02:16:32.40
>>244
なんですか?それ

250:デフォルトの名無しさん
12/10/26 02:16:48.23
そろそろ別のネタにしようよ・・・

251:デフォルトの名無しさん
12/10/26 02:17:53.65
>>249
知りたいか?教えてやる、それは句読点だ

252:デフォルトの名無しさん
12/10/26 02:19:39.73
>>250
ネタであればどれだけよかっただろうか、だが>>223は本気だ。
>>223は本気で書きやがったんだ。

> 技術論文を書いてるんじゃないんだから、
> 「,.」を日常的に使うのは止めた方がいい。
> 無教養な専門馬鹿にしか見えないから。

wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww

253:デフォルトの名無しさん
12/10/26 02:46:15.00
なんでファビョってんだ

254:デフォルトの名無しさん
12/10/26 02:53:01.99
ここ東亜だっけ?

255:デフォルトの名無しさん
12/10/26 03:12:24.14
>>253
あれあれ?句読点が見当たらないぞ~そんなんじゃこのスレじゃ通用しないぞ~wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww

256:デフォルトの名無しさん
12/10/26 03:13:13.05
>>254
違う、ここは句読点

257:デフォルトの名無しさん
12/10/26 03:14:03.17
今日もコテンパンにやっつけてやったは、俺の句読点の前では敵ではなかったはwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww

258:デフォルトの名無しさん
12/10/26 06:11:14.35
>>253
「無教養な専門馬鹿」が余程悔しかったんだろ。
だが、>>223の指摘は間違っていたのかも知れない。
正しくは「専門馬鹿」ではなく「正真正銘の馬鹿」だな。

259:デフォルトの名無しさん
12/10/26 06:53:39.30
多分>>219は「専門馬鹿」という言葉の意味すら知らないと思う

260:デフォルトの名無しさん
12/10/26 08:28:45.93
>>258
句読点理論には誤りがあった!wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww

261:デフォルトの名無しさん
12/10/26 08:31:53.00
>>259
句読点つけてないわけだからお前のほうが馬鹿だということになるな、なぜならばお前は句読点をつけていないから。詳しくは>>258の理論を勉強しろ。
wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww

262:デフォルトの名無しさん
12/10/26 08:33:08.61
句読点でわかるからね、ぜーんぶわかるからね

263:デフォルトの名無しさん
12/10/26 09:19:27.31
,.の話を勝手に句読点の有無にすり替えるあたり、
悔しさが滲み出てますなぁ。

264:デフォルトの名無しさん
12/10/26 09:33:41.75
>>263
「,.」は句読点じゃないとでもいうつもりか!
句読点じゃないというのならなんだというんだ!
まぎれもなく句読点だ!
「、。」が句読点であることは明白だ!
だったら「,.」も句読点だ!

265:デフォルトの名無しさん
12/10/26 10:34:20.36
>>264
お前、よっぽど頭が鈍いんだな。

266:デフォルトの名無しさん
12/10/26 10:38:43.17
>>265
お前ほどじゃない

267:デフォルトの名無しさん
12/10/26 10:41:13.66
頭の回転数は句読点から計算できるwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww

268:デフォルトの名無しさん
12/10/26 13:21:18.05
スレリンク(tech板:250番)
ここの句読点厨だろw

269:デフォルトの名無しさん
12/10/26 16:15:06.38
>>268
中身を見たが、今の流れとは全然テーマが違う。
残念ながら却下。

270:デフォルトの名無しさん
12/10/26 16:54:55.09
実行中のバッチを途中から書き換えて保存すると通常はエラーで止まりますが
これを止まらないようにする方法あったような気がするんですが自分の気のせいですかね?

271:デフォルトの名無しさん
12/10/26 17:55:57.37
気の迷いだね

272:デフォルトの名無しさん
12/10/26 20:17:43.61
書き換え前後で既存のコマンドのファイル先頭からの文字位置が同じだったらいいんだっけ?

273:デフォルトの名無しさん
12/10/27 02:39:32.41
call とかの ラベル は8文字までと思っていたら、もっと長くてもちゃんと呼べた。
ラベル名を短くする努力はなんのために…… orz

274:デフォルトの名無しさん
12/10/27 08:25:06.89
MSのヘルプやusageを信じてはいけない

275:デフォルトの名無しさん
12/10/27 09:10:17.20
9文字以上のラベル名は8文字目までで判断されるとか個人ブログかなんかで見たことあるけど、
MS公式のヘルプやドキュメントってどこにあるの?

276:デフォルトの名無しさん
12/10/27 09:52:09.60
>>275
Goto
URLリンク(technet.microsoft.com)(v=ws.10).aspx
│goto コマンドでは、ラベルの最初の 8 文字だけが使われます。

これかな。

277:273
12/10/27 11:32:31.61
ラベルで9文字以上行けた件、恥を忍んで尋ねたい、
ひょっとして、FAQ だったりした?


278:デフォルトの名無しさん
12/10/27 11:37:02.24
うぜ

279:デフォルトの名無しさん
12/10/27 11:51:44.84
日本語ドキュメントを信用するな。FAQ中のFAQ中のFAQだよ。
URLリンク(technet.microsoft.com)(v=ws.10).aspx

280:デフォルトの名無しさん
12/10/27 12:09:19.39
>>277
俺も知らなかった、というか気にしたことがない。

ちょっと気になったので、実機で確認したら 127文字までちゃんと判断してくれる。

ただ、ラベル名を 128文字以上にすると、cmd.exe がアプリケーションエラーで落ちる (w

環境:
 OS: Microsoft Windows XP [Version 5.1.2600]
 cmd.exe: 5.1.2600.5512

281:デフォルトの名無しさん
12/10/27 15:27:34.68
>>279
XPの英語ドキュメントは8文字って言ってるんだよな…XP時代そうだったっけ?
URLリンク(www.microsoft.com)

282:デフォルトの名無しさん
12/10/27 16:36:59.76
cmdを虐めんなよwそんな大したもんじゃないんだからw

283:デフォルトの名無しさん
12/10/27 17:03:54.14
でもなんか妙に機能拡張してるよね。cmdのくせに。

284:273
12/10/27 18:33:06.00
れすあり

FAQですよね、やっぱし

20文字試して通常使用に困ることはないと思ってたけど、127文字までか。
確認どうもです。

285:デフォルトの名無しさん
12/10/27 20:07:32.47
>>284
FAQは「日本語ドキュメントを信用するな」の方な。

286:デフォルトの名無しさん
12/10/28 00:01:11.92
皆様こんばんは

どうかお力をお貸し下さい。

音楽ファイルのタグ情報を元に、
音楽ファイルをbatファイルにドラッグしたら
格納しているフォルダ名を変更するbatファイルを作りたいのですが
どのように記述すれば良いのでしょうか?

タグ情報
アーティスト 俺
アルバムタイトル 俺の作品
発売年 2012
拡張子 mp3 wave など色々

の音楽ファイルタグを参照しフォルダ名を

俺 - 2012 俺の作品 [mp3]

に変更したいなと思っています。

どうか、教えてください、よろしくお願いします。

287:デフォルトの名無しさん
12/10/28 00:25:35.03
※何でも無理矢理バッチでやろうとせず、WSH等の使用も検討しましょう。

288:デフォルトの名無しさん
12/10/28 00:56:32.37
バッチだけでできんのかそんなことw

289:デフォルトの名無しさん
12/10/28 07:42:34.92
wmic /?

290:デフォルトの名無しさん
12/10/28 14:16:38.59
うそばっか

291:デフォルトの名無しさん
12/10/29 06:57:03.83
URLリンク(www.atmarkit.co.jp)

292:デフォルトの名無しさん
12/10/30 00:36:26.92
すみませんが、お知恵を貸していただけないでしょうか。

■やりたいこと
 windows7で次のコマンドの実行結果の文字列を変数RESULTに設定する。
 "rplsinfo.exe" "TOKYO MX__番組 (1).ts" -d
 コマンドの実行結果 YYYY/MM/DD

■現在のスクリプト
for /f "usebackq tokens=*" %%a in (`%2 %1 -d`) do set RESULT=%%a
echo [%RESULT%]

■引数
%1は"C:\Users\山田太郎\Videos\TOKYO MX__番組 (1).ts"
%2は"rplsinfo.exe"

■実行結果
'rplsinfo.exe" "TOKYO' は、内部コマンドまたは外部コマンド、
操作可能なプログラムまたはバッチ ファイルとして認識されていません。
[]

お手数をおかけしてすみませんが、よろしくお願いいたします。

293:デフォルトの名無しさん
12/10/30 08:10:39.69
バッチファイル 全角スペースでググれば何が問題になってるか解るよ

294:デフォルトの名無しさん
12/10/30 11:47:32.44
>>292
> %1は"C:\Users\山田太郎\Videos\TOKYO MX__番組 (1).ts"
> %2は"rplsinfo.exe"

実際は%1にはダブルクオーテーション無しで
C:\Users\山田太郎\Videos\TOKYO MX__番組 (1).ts
が入ってると思うけどね。
forの前に
echo %2 %1 -d
とかやって実際にはどんなコマンドになってるのか見ればいいよ。

295:デフォルトの名無しさん
12/10/30 22:28:30.94
>>293
ありがとうございました。
お蔭様でなんとか対策を検討できそうです。

>>294
ありがとうございました。
echo %2 %1 -d とやってみると、次のようにダブルクオーテーション付きで表示されました。
"rplsinfo.exe" "C:\Users\山田太郎\Videos\TOKYO MX__番組 (1).ts" -d
こちらの件はおそらく大丈夫だと思いますが、気になる点があればご指摘ください。

296:デフォルトの名無しさん
12/10/30 22:55:15.22
知ったかしてみる

for /f "usebackq" in (``) の``の中で
コマンド本体となるrplsinfo.exeを""でくくるとマズイ
引数は""でくくっても大丈夫

297:デフォルトの名無しさん
12/10/30 23:12:23.04
>>296
ありがとうございます、早速試してみました。
なんと!上手く行きました。
これでなんとか目的の物が作れそうです。
本当にありがとうございました。

298:デフォルトの名無しさん
12/10/31 10:18:38.60
For文で変数の遅延展開を有効にする魔法のSetコマンド文ってなんでしたっけ!?

299:デフォルトの名無しさん
12/10/31 10:23:16.11
>>132
これだっけ?あったかも!?さんくす!

300:デフォルトの名無しさん
12/10/31 10:29:31.06
>>298
SETLOCAL ENABLEDELAYEDEXPANSION

301:デフォルトの名無しさん
12/11/03 15:46:52.18
オプション無しのdirコマンドでは隠し属性やシステム属性は出力されませんがディレクトリも出力されてしまいます
そこで、ファイルのみを出力しようと、dir /a-dとしたら、今度はファイルのみではあるのの隠し属性やシステム属性まで出力されてしまいます
オプション無しのdirコマンドと同じフィルタレベルで出力するには、dirコマンドのオプションをどのように指定すれば良いのでしょうか?
また、

302:デフォルトの名無しさん
12/11/03 15:50:18.23
dir /a-d-h-s

303:301
12/11/03 15:52:06.04
文章が途中で切れました大変失礼致しました。

また、dir /aコマンドで隠し属性やシステム属性含めてファイルやフォルダ全て出力されている(っぽい)のですが、
dirコマンドのヘルプも見てもそうは書かれていないと思うのですがいかがでしょうか?
URLリンク(technet.microsoft.com)(WS.10).aspx

304:デフォルトの名無しさん
12/11/03 16:15:04.06
>>303
なにがいかがですか?

305:301
12/11/03 16:16:36.41
>>302
一つの/aオプション中に、-h-sやのように必要な数分の-を使えるとは知りませんでした
どうもありがとうございます。

306:301
12/11/03 16:17:56.58
>>304
"dirコマンドのヘルプも見てもそうは書かれていない" equ "なに"

307:デフォルトの名無しさん
12/11/03 16:20:33.27
>>306
お前あれだな、気持ち悪いな、ゲロ吐きそうなほど気持ち悪い、ゲロキモだな。
いかがですかってなに?参りましたといってほしいの?何を聞いてんの?いかがでしょうか?

308:デフォルトの名無しさん
12/11/03 16:23:23.50
今日はいい天気なので部屋の窓を全開にしようと思うのですがいかがでしょうか?

309:デフォルトの名無しさん
12/11/03 16:25:51.00
さっき買い物に出かけたときふんずけたウンチは犬のものだと思うのですがいかがでしょうか?

310:デフォルトの名無しさん
12/11/03 16:27:25.97
いかがでしょうかフェスティバルが開催されていると聞いてやってきたのですがいかがでしょうか?

311:デフォルトの名無しさん
12/11/03 16:27:33.77
dir /aは限定なしなんだからすべてだろ
dirはデフォルトでdir /a-h-sと同じだろ

312:デフォルトの名無しさん
12/11/03 16:28:42.43
>>309
ごめんなさい!
すぐ片付けます。

313:デフォルトの名無しさん
12/11/03 16:32:53.72
MSのドキュメントは話にならんだろ
2chのほうがましだろ

314:デフォルトの名無しさん
12/11/03 19:58:15.53
>>303
いやそもそもそこのドキュメントに書いてあるやん

URLリンク(technet.microsoft.com)(WS.10).aspx
> If you use /a without specifying Attributes, dir displays the names of all files, including hidden and system files.
> Dir /a 属性 属性 を指定せずに/aを使用すると、非表示名を含むすべてのファイルとシステム ファイルが表示されます。
翻訳の改善提案(URLリンク(technet.microsoft.com)(v=ws.10).aspx?sentenceGuid=aadb1c0a-2984-5c0e-703d-6e90c492ebc6)

315:デフォルトの名無しさん
12/11/04 07:12:40.75
robocopy "G:\\" "Z:\\G\\" /mir /mon:1 /tee /eta /log+:"R:\\ETC\\backup.log"

GドライブとZドライブにあるGフォルダを同期させたいのですが、一部のファイルで同期完了したのに「より新しい」と表示され何度もコピーされます
一度コピーしたら変更があるまでコピーしないにはどうすればいいんですか?あとGフォルダが隠しフォルダになってしまうのは何か関係ありますか?

316:デフォルトの名無しさん
12/11/04 09:29:17.83
その robocopy とやらの作者に聞けよ。

317:デフォルトの名無しさん
12/11/04 10:37:51.21
そのZドライブがFATだったり古いNASだったりするとタイムスタンプ精度が悪くて同期がうまくいってない可能性がある
/FFTオプションを付けてみたら?

>>316
robocopy はMS純正でVista以降の標準コマンドなんだが

318:デフォルトの名無しさん
12/11/04 10:40:28.44
>>315
backup.logファイルにヒントがあるかもしれないから、コピペするか
ログファイル自体をどこかにうpしてもらえませんか?

319:デフォルトの名無しさん
12/11/04 12:10:10.79
>>317
MS様に聞けばいいじゃないかw

320:デフォルトの名無しさん
12/11/04 13:06:45.53
robocopyのGUIツールを作ったMSの中の人のブログのコメント欄にでも投稿してみたら?
URLリンク(blogs.technet.com)

321:デフォルトの名無しさん
12/11/04 13:19:53.32
>>320
わかったちょっと荒らしてくる

322:デフォルトの名無しさん
12/11/04 13:20:18.51
>>317
/FFTオプションをつけたところ更新されないようになりました

>>318
何回もコピーしたためか、ログが300MB近く吐かれててメモリ足りずに開くこともできませんでした・・・

323:デフォルトの名無しさん
12/11/04 13:58:34.95
>>316
robocopyを知らないシロート発見。

324:デフォルトの名無しさん
12/11/04 16:07:27.43
rsync 使ってるから、robocopy なんて知りませんでしたが、それが何か?

325:デフォルトの名無しさん
12/11/04 19:30:43.27
MS様に聞けない小心者ちゃんをいじめちゃダメぇ~

326:デフォルトの名無しさん
12/11/05 01:25:24.74
バッチ中で何かのコマンドを実行した時に今までの画面出力が
全角文字の部分だけ重複して

1 個個ののフファァイイルルををココピピーーししままししたた。。

みたいな感じになってしまうことがあるんだけど
これはいったいどういう理由でなってるの?

327:デフォルトの名無しさん
12/11/05 01:26:32.81
echo だったかな

328:デフォルトの名無しさん
12/11/05 01:29:00.70
ごめん適当ぶっこいたわからん

329:デフォルトの名無しさん
12/11/05 02:16:21.93
ならん

330:デフォルトの名無しさん
12/11/05 09:45:08.80
>>324
全然用途が異なるツールあげられても。w
どうせボケるなら、↓これくらいボケないと。

> OpenOfficeつかっているから、robocopy なんて知りませんでしたが、それが何か?

331:デフォルトの名無しさん
12/11/05 10:20:05.81
WIN8 をつかているんですが、管理者権限を無効にするコマンド誰か知りませんか?
XPでもいいです。

332:デフォルトの名無しさん
12/11/05 22:19:54.07
>>327
tee

333:デフォルトの名無しさん
12/11/05 23:36:07.45
>>330
そんなボケはいらんよ (w

334:デフォルトの名無しさん
12/11/06 00:13:18.94
そんなツッコミはいらんよ (w

335:デフォルトの名無しさん
12/11/06 00:50:22.88
ひょっとして >>330 って、マジでツッこんでたの?
まさかね (w

336:326
12/11/06 02:13:17.13
どうもmediainfoの古い版を起動したときに
一瞬コードページが変わるような表示になり元に戻った時に
>>326のようになってしまうようだ。

最新の版では起きないみたい。

337:デフォルトの名無しさん
12/11/06 11:12:39.16
.batに限らないが、Win上で動くスクリプト関連のエディタは、Sakuraが無難?
Ctrl+Bで実行とか、Ctrl+F5のコマンドエミュレートとか便利っぽいんだが、
他にいいのあったらおせーて。

338:デフォルトの名無しさん
12/11/06 15:56:19.51
さあ?
実行はtest_hoge.bat $(Path)でもあれば十分だし何でも良いんじゃないの

339:デフォルトの名無しさん
12/11/08 08:55:28.56
findstr や find だと検索に一致した文字列のある行を表示しますが、
検索に一致した部分だけを表示してくれるOS標準のコマンドってありませんか?

340:デフォルトの名無しさん
12/11/08 14:28:37.54
>>339
意味が解らん
具体例か目的を書いた方がいい

341:デフォルトの名無しさん
12/11/08 15:41:48.76
findstr pattern file >nul 2>nul && echo pattern

342:デフォルトの名無しさん
12/11/08 16:06:39.78
>>340
grep で言うところの -o オプションに相当することが可能な検索(切り出し)です。

例えば

<a href="URLリンク(www.amazon.co.jp)何か1">その1</a><a href="URLリンク(www.amazon.co.jp)何か2">その2</a>
<br>
<a href="URLリンク(www.amazon.co.jp)何か3">その3</a>

というような行を含むファイル test.html で

>findstr /R /C:"href=\"URLリンク([^^\"]*")<) test.html
href="URLリンク(www.amazon.co.jp)何か1"
href="URLリンク(www.amazon.co.jp)何か2"
href="URLリンク(www.amazon.co.jp)何か3"

と行全体ではなくヒットした部分のみ個別に切り出せるので。


>>341
それだと基本的に固定のパターンにしか対応が難しいような。
勘違いだったらすみません。

バッチを捨てて wsh? か vbs? に手を付けたほうがよいでしょうか?

343:デフォルトの名無しさん
12/11/08 17:19:03.16
スレリンク(win板)
で聞くとバッチで作ってくれるよ

344:デフォルトの名無しさん
12/11/08 18:09:24.25
>>342
バッチにCScript埋め込まばいいじゃん。

345:デフォルトの名無しさん
12/11/08 20:15:10.89
色々ありがとうございます。

バッチと合体?させる方が簡単なのか、難しくなるのかすら見当ついてませんが、
作成依頼をする事でもないので、とりあえず vbs のいろはから始めてみます。

346:デフォルトの名無しさん
12/11/09 01:28:55.10
yagrepでいいんじゃないのかw

347:デフォルトの名無しさん
12/11/09 16:33:13.17
お題読めないメクラはレス禁止。
> OS標準のコマンド

348:デフォルトの名無しさん
12/11/10 03:19:02.96
OS標準のコマンド ってPOSIX 1003.1か?

349:デフォルトの名無しさん
12/11/10 10:07:49.71
このスレでそういう低能な質問するか?

350:デフォルトの名無しさん
12/11/10 11:06:09.83
バッチファイルごときで低脳とか有能とか関係あるのかw

351:デフォルトの名無しさん
12/11/10 13:01:24.30
無能がバッチやると、バッチじゃ不適切なことまでバッチでやろうとするよ

352:デフォルトの名無しさん
12/11/10 15:41:36.07
「それでもバッチでやってみようず!」ってスレだと思ってみているけど、違うの?

353:デフォルトの名無しさん
12/11/10 16:09:16.23
拡張子が .cmd または .bat のバッチファイルのスクリプティング(プログラミング)に関わる
質問,テクニック(JScript,Perl等の埋め込みなど含む),関連情報のためのスレです。

※何でも無理矢理バッチでやろうとせず、WSH等の使用も検討しましょう。

354:デフォルトの名無しさん
12/11/10 18:03:06.28
OS付属のコマンドだな
標準なんて使うなよな

355:デフォルトの名無しさん
12/11/10 19:04:29.45
バッチ内のforコマンドでusebackqを使い、実行ファイルへのパスに空白を含むコマンドを実行させたいのですが

for /F "usebackq" %%A in (`c:\path to\command.exe`) do echo %%A

のようにしてもうまく行きません
引数も食わせたいのですが、どう記述すべきでしょうか?

356:デフォルトの名無しさん
12/11/10 19:05:20.20
for /F "usebackq" %%A in (`"c:\path to\command.exe"`) do echo %%A

357:デフォルトの名無しさん
12/11/10 19:14:25.87
>>354
その程度のあいまいさを処理できない人工無脳はお引き取りください。

358:デフォルトの名無しさん
12/11/10 19:18:34.59
for /F "usebackq" %%A in (`call "c:\path to\command.exe"`) do echo %%A

359:デフォルトの名無しさん
12/11/10 19:21:43.50
>>356
速攻の回答ありがとうございます
これで引数なしでコマンドの実行が出来ることは確認できたのですが
引数の与えることがどうもうまくできません
引数をダブルクォーテーションで括ったり、くくらなかったり、バッククォートの外に出してみたり
色々とやってみたのですが、、

お手数かけますが、引数を与える方法を教えてください
よろしくお願いします

360:デフォルトの名無しさん
12/11/10 19:25:40.44
ダメだったのを書けよ。

361:デフォルトの名無しさん
12/11/10 20:54:36.84
>色々とやってみたのですが、、
for /F "usebackq" %%A in (`call "c:\path to\command.exe" 引数`) do echo %%A
これはやってないんかい?

362:デフォルトの名無しさん
12/11/10 21:11:13.63
お世話になりました

for /F "usebackq" %%A in (`"c:\path to\command.exe" pattern a.txt`) do echo %%A

上記でうまくいきましたが、当初うまく行かなかったのは
利用する(外部)コマンドによって挙動が異なるからのようです
使いたかったコマンドはgrepで、下記の物を試しました

うまく行かないコマンド
 URLリンク(www.steve.org.uk)
うまく行ったコマンド
 URLリンク(geoffair.net)

ただ、うまくいった方のコマンドでも、下記のようにコマンドへのフルパスに加え
引数の方をさらにダブルクウォートで括るとエラーになってしまいました

for /F "usebackq" %%A in (`"c:\path to\command.exe" "a.txt" `) do echo %%A

ありがとうございました

363:デフォルトの名無しさん
12/11/10 21:14:46.12
訂正

× for /F "usebackq" %%A in (`"c:\path to\command.exe" "a.txt" `) do echo %%A
○ for /F "usebackq" %%A in (`"c:\path to\command.exe" "pattern" "a.txt"`) do echo %%A 等

364:デフォルトの名無しさん
12/11/10 21:30:10.20
for /F "usebackq" %%A in (`""c:\path to\command.exe" "pattern" "a.txt""`) do echo %%A 等

365:デフォルトの名無しさん
12/11/10 21:49:19.70
for /F "usebackq" %%A in (`call "c:\path to\command.exe" "pattern" "a.txt"`) do echo %%A 等

366:デフォルトの名無しさん
12/11/11 01:46:41.94
>>356
>>357
OSのバージョンやEditionによってはコマンドの有無が違うから、
標準ではないというのは正しい。けど特別拘った表現は不要だけどw
homeエディションにopenfilesが無くて話が頓挫とか稀にある。稀にね。そう、homeならね。

367:デフォルトの名無しさん
12/11/11 02:05:37.28
>>352
確かにWindows板に比べればその気は強いが
実用の場合はそこの見極めは最低限いるからな

368:デフォルトの名無しさん
12/11/11 05:10:16.03
Q.環境変数に4桁の数字を代入したいのですが、

set /a keisan=0185
echo %keisan%

こうするとうまくいきません。
どうにかして0185を185として代入させることはできませんか。
ご教示ください。

369:デフォルトの名無しさん
12/11/11 06:08:02.47
一桁ずつとりだして
ゼロだったら削除の上で結合することにしました
ほんとうにすみませんでした

%[環境変数]:~[オフセット(位置)],[文字数]%

370:デフォルトの名無しさん
12/11/11 10:42:15.62
set /a で最初の数字が0の時は8進数、xなら16進数として認識される。

最初が0の10進数として認識させたいなら、最初の0を削る以外にも
桁数が分かってることを前提として

set hoge=0185
set fuga=1%hoge%
set /a keisan=fuga - 10000

等とやったりする。

371:デフォルトの名無しさん
12/11/11 15:44:19.77
バッチファイルでLTrim()する。
URLリンク(scripting.cocolog-nifty.com)

372:デフォルトの名無しさん
12/11/14 23:02:35.98
テキストファイルがいくつか有るとして、
そのすべてのファイル名の先頭に(abc)とつけるとしたらどうやればいいですかね?
ren *.txt (abc)*じゃできないみたいなのでどなたかご教授お願いします。

373:デフォルトの名無しさん
12/11/14 23:10:29.28
for %i in (*.txt) do ren %i abc%i

374:デフォルトの名無しさん
12/11/14 23:56:17.51
recursion起こすぞ

375:デフォルトの名無しさん
12/11/14 23:57:30.66
for /f "delims=" %i in ('dir /b *.txt') do ren %i abc%i

376:デフォルトの名無しさん
12/11/14 23:58:38.42
ファイル名に空白あったら?

377:デフォルトの名無しさん
12/11/14 23:59:34.27
for /f "delims=" %i in ('dir /b *.txt') do ren "%i" "abc%i"

378:デフォルトの名無しさん
12/11/15 00:01:06.83
ファイル名にハングルとか非JIS文字あったら?

379:デフォルトの名無しさん
12/11/15 00:01:49.70
wsh使え

380:デフォルトの名無しさん
12/11/15 06:20:04.62
set hoge=0185
set fuga=10000%hoge%
set /a keisan=fuga %% 10000

381:デフォルトの名無しさん
12/11/15 06:34:43.72
>>380
0 除算エラーです。

382:デフォルトの名無しさん
12/11/15 07:33:02.46
>>381
涙拭くハンカチ用意しとけよw

383:デフォルトの名無しさん
12/11/15 21:49:50.80
>>377
ありがとうございます。こんなのがスラっと欠けるなんて凄いですね。
/fオプションの使い方がよくわからないので、もし良かったらこのコマンドの解説を軽くしてもらえませんか?

384:デフォルトの名無しさん
12/11/15 22:00:37.32
for/?

385:デフォルトの名無しさん
12/11/16 00:10:19.52
forを完璧に使いこなせたらバッチの何割を会得したと言えるんだろうと思うくらい多機能だよなあ

386:デフォルトの名無しさん
12/11/16 03:31:23.73
set keisan=0185
set /a keisan=2*1%keisan%-2%keisan%

387:デフォルトの名無しさん
12/11/16 16:45:22.44
>>385
完璧に使いこなせたらって、そもそもforの何割を会得したんだ?

388:デフォルトの名無しさん
12/11/16 17:07:39.63
完璧が100%以外の意味を持つとは知らなんだ

389:デフォルトの名無しさん
12/11/16 17:41:10.60
日本語も何割を会得したんだ?

390:デフォルトの名無しさん
12/11/16 19:23:28.93
>>378
cpをutf8にすりゃいいかもよ

391:デフォルトの名無しさん
12/11/17 00:18:21.14
>>386
お前頭いいな、感動した。

392:デフォルトの名無しさん
12/11/17 02:09:08.57
for /F はトークン切り出しとかでCSVの簡易解析とかに使ったかな?

393:デフォルトの名無しさん
12/11/17 03:24:27.06
昔for /F の括弧中に全角文字があると引数が尻切れになるバグがあったな
WinXP以降は直ったみたいだが

394:デフォルトの名無しさん
12/11/19 21:35:20.83
代わりに他のバグがあります

395:デフォルトの名無しさん
12/11/20 00:16:50.19
@Echo Off & SetLocal EnableDelayedExpansion

Echo ■Params: 0 " " 6
Call :FuncHoge 0 " " 6
Echo ■Length: 12345678901234567890
Echo ■Return: %Return%
GoTo EOF
:--------------------------------
:FuncHoge
Set X=1 & Set Z=
For /L %%I In ( 1, 1, %3 ) Do (
 Echo ■ Check: !X!
 If /I !X! GEQ 10 (
  If /I %1 LSS !X! (
   Set Z=%~2!Z!
  )
 )
 Set /A X=!X!*10
)
Set Return=!Z!%1
GoTo END
:--------------------------------
:EOF
Pause>Nul
:END

数値の桁合わせに書いたんだが最初から文字列にすればよかったと後悔記念
ご指摘plz

396:デフォルトの名無しさん
12/11/20 05:30:46.38
えーと何がしたいのかよくわからんのだが

@echo off
setlocal enabledelayedexpansion
call :FuncHoge 0 " " 6
Echo ■Length: 12345678901234567890
Echo ■Return: %Return%
pause
goto :eof

:FuncHoge
for /L %%i in (1,1,%~3) do set spacer=%~2!spacer!
set Return=%spacer%%~1
set Return=!Return:~-%~3!
goto :eof

こういうことでいいんかな・・・?

397:デフォルトの名無しさん
12/11/20 17:11:20.47
PC起動時にコマンドプロンプトをスタートアップより起動してPINGを自動で送るようにしたいです。
コマンドの内容はこれです「ping *.*.*.* -t -l 2000」*はipが入ります
CMDのショートカットのプロパティをいじるだけでは無理でしょうか?
バッチファイル作成が必要なのでしょうか?
どなたかご教授願います。

398:デフォルトの名無しさん
12/11/20 18:02:05.68
バッチファイル作ってスタートアップに突っ込んどけばいいんじゃないの
それかschtasks使うとか

399:デフォルトの名無しさん
12/11/20 18:14:53.85
ショートカットのリンク先を
%windir%\system32\cmd.exe /c ping 127.0.0.1 -t -l 2000

たぶん作業フォルダをsystem32とかじゃなく適当な場所に指定する必要あり

400:デフォルトの名無しさん
12/11/20 18:15:57.50
ショートカットのリンク先を
ping 127.0.0.1 -t -l 2000

401:デフォルトの名無しさん
12/11/20 18:23:19.61
みなさん短時間の間にレスしていただきありがとうございます。
>>399さんの方法で上手くいきました。
本当にありがとうございました。

402:デフォルトの名無しさん
12/11/20 18:54:09.03
cmdよぶなら%ComSpec%

403:デフォルトの名無しさん
12/11/20 19:17:29.34
よばんでいい

404:デフォルトの名無しさん
12/11/20 19:19:01.51
んなこたわかってる

405:デフォルトの名無しさん
12/11/20 19:24:06.67
/cって要らないんじゃないの

406:デフォルトの名無しさん
12/11/20 19:30:01.77
んなこたわかってる

407:デフォルトの名無しさん
12/11/20 19:30:03.21
よばんでいい

408:デフォルトの名無しさん
12/11/20 19:35:55.84
おばんです

409:デフォルトの名無しさん
12/11/21 00:54:48.04
>>396
そうです!まさにそれです!!!
今回 set /? を何度も読んだのに気づきませんでした。
恥ずかしい。感謝。また醜態さらしに来ます。恩に着ます。

410:デフォルトの名無しさん
12/11/22 15:19:27.80
外部からファイルリストを読み込んで、リストのファイルにアクセスしたいんですが。
半角の「!」が含まれていると、アクセスできなくなります。
読み込み時にエスケープさせることはできないですか?


for /f delims^=^ eol^= %%A in (filelist) do (
echo "%%~A"
)

411:410
12/11/22 15:21:21.05
追記
サブルーチン、他コマンドの引数にしたいのですが失敗するんです。

412:デフォルトの名無しさん
12/11/22 18:53:46.77
できません

413:デフォルトの名無しさん
12/11/24 17:47:47.88
遅延展開してんじゃねーの?

414:デフォルトの名無しさん
12/11/24 18:59:11.33
じゃあこれでいいんじゃね
for /f delims^=^ eol^= %%A in (filelist) do (
setlocal disabledelayedexpansion
echo "%%~A"
endlocal
)

415:410
12/11/26 11:07:44.29
サンクス
setlocal disabledelayedexpansionで読み込めました

416:デフォルトの名無しさん
12/11/28 17:47:17.18
Win 8 Pro x64 を使用しています。
バッチ操作で netsh wlan show interfaces コマンドを起動し、
取得される SSID を変数に取りこむには、どのようにすれば良いのでしょうか。

417:デフォルトの名無しさん
12/11/28 18:56:45.35
昔なら ssid.bat を作っておいて出力をダイナミックに実行とかアブナイことしてるやつもいたけど
今はforがある。いい時代だ。

418:416
12/11/29 23:45:25.64
>>417 これでできました。ありがとうございました。
for /f "delims=: tokens=2" %%i in ('netsh wlan show interfaces ^|find /i " SSID"') do set p=%%i

ちなみに次の行で set p=%p:~1% をしてスペースを削除させてるのですけど、
これを set p=%%i の時点で行うことは可能なのでしょうか。

419:デフォルトの名無しさん
12/12/02 00:25:56.11
教えてください。

ミュージックプレイヤー(foobar)起動時に自動でバッチファイルを実行させようと四苦八苦しています。

どうすれば良いでしょうか?
アドレスお願いいたします。

420:デフォルトの名無しさん
12/12/02 00:36:55.55
バッチファイルでfoobar起動

421:デフォルトの名無しさん
12/12/02 00:42:34.00
>>420
レスありがとうございます

なるほど!

元々このような事を考えたのは、
立ち上げ時にfoobarフォルダにある
プレイリストファイルを自動で削除出来ないか?と思ったからです。
foobar起動のバッチファイルにプレイリスト削除も記述してしまえば良いのですね。

早速挑戦してみます。
ありがとうございました!

422:デフォルトの名無しさん
12/12/02 02:14:37.94
msecぞろ目率が高いのは板の特性なのか?

423:デフォルトの名無しさん
12/12/02 02:15:22.54
くっそwwww

424:デフォルトの名無しさん
12/12/02 12:50:19.41
がれき受け入れ反対の男ら4人逮捕 大阪府警

がれき受け入れに抗議するグループの男3人と無職の女(33)の計4人を現行犯逮捕した。
男3人はいずれも黙秘、女は「納得いかない」と容疑を否認している。
府警によると、逮捕されたのは、外国人登録証明書から韓国籍の男(45)らとみられる。


仲間を返してwwwwwww
URLリンク(livedoor.blogimg.jp)


怒りの大阪府民】 不当逮捕した仲間を返せ 【これが関西魂や!】 1/6
URLリンク(www.nicovideo.jp)
 

425:デフォルトの名無しさん
12/12/14 11:32:53.48
%name%を8:3の名前に変更したいです。
どうすればいいですか?

426:デフォルトの名無しさん
12/12/14 18:57:15.91
for %I in ("%name%") do ren "%~I" %~snxI

427:デフォルトの名無しさん
12/12/14 21:31:01.17
>>426
ありがとうございました。

428:デフォルトの名無しさん
12/12/19 22:57:54.95
setlocal enabledelayedexpansion
set FOLDER=%USERPROFILE%\My Documents\My Music\Ripping
for /F "delims=\ tokens=1-5,6*" %%a In ( 'dir /S /B "%FOLDER%"' ) do (
    set FULLPATH=%%A\%%B\%%C\%%D\%%E\%%F\%%G
    echo !FULLPATH!
)

tokens=1-5,6* の「1-5」と「6*」をそれぞれひとつの変数で表せないでしょうか。
%%A\~%%F\まで、ひとつひとつ書かないと駄目ですかね?
tokens=1*,6* という書き方は駄目でした。。

429:デフォルトの名無しさん
12/12/19 23:49:54.34
%%~pA みたいに展開するとか。

430:デフォルトの名無しさん
12/12/21 23:06:40.26
できないよw

431:デフォルトの名無しさん
12/12/22 07:22:27.67
move.exeのありかを教えてください。 起動できるのに存在がわかりません。 隠しファイルも探しました。

432:デフォルトの名無しさん
12/12/22 16:53:13.92
copyと同じところw

433:デフォルトの名無しさん
12/12/22 17:08:25.06
move.txt /?

434:デフォルトの名無しさん
12/12/22 19:04:02.04
where move

435:デフォルトの名無しさん
12/12/22 19:22:27.95
$> which move
fuck you.
$>

436:デフォルトの名無しさん
12/12/22 19:30:12.95
where ahobaka
>>435

437:デフォルトの名無しさん
12/12/22 19:39:12.86
www.google.co.jp/search?q=>436

もしかして "まぬけ"

438:デフォルトの名無しさん
12/12/22 19:48:09.43
where "まぬけ"
>>435

439:デフォルトの名無しさん
12/12/22 19:51:28.93
この流れは・・・・・負ける・・・・っっ!!!

440:デフォルトの名無しさん
12/12/22 19:53:06.01
おとりこみちゅうすみません
コマンドプロンプトから管理者として実行するにはどうすればよいすか?

441:デフォルトの名無しさん
12/12/22 21:53:21.21
>>440
”コマンドプロンプトから管理者として実行”でググればいいじゃんない?

442:デフォルトの名無しさん
12/12/22 22:36:25.92
ぐぐってもなさそうだが?
3番目に外部ソフト利用があったけどわざわざ使うか

443:デフォルトの名無しさん
12/12/22 22:44:18.33
>>442
runas
ろくにググれもしないお前は死んで詫びろ。
スレが汚れる

444:デフォルトの名無しさん
12/12/22 22:45:35.05
runasじゃねーだろバカ

445:デフォルトの名無しさん
12/12/22 22:49:46.79
バカはスルーで

446:デフォルトの名無しさん
12/12/22 22:51:34.67
ルナス!

447:デフォルトの名無しさん
12/12/22 22:51:56.27
こいつはバカだな

448:デフォルトの名無しさん
12/12/22 22:53:44.06
ばかわだまってろ

449:デフォルトの名無しさん
12/12/22 22:59:10.25
runasなんてコマンドねーよ
443はバカだね

450:デフォルトの名無しさん
12/12/22 23:05:20.54
みんなにバカ呼ばわりされて443涙目wwww

451:デフォルトの名無しさん
12/12/23 00:33:13.23
runasはあるけどelevationとはちがうわなwバカにはわからんだろうがw

452:デフォルトの名無しさん
12/12/23 00:34:08.93
で、elevationを外部ソフトなしでやれんのか?

453:デフォルトの名無しさん
12/12/23 02:07:02.76
>>431
where /r \ move.exe では
Could not find move.exe

になります。copy.exe copy.com でも同様です。

徹底的に検索しても、見つかりません。

皆さんは、本当に存在場所を具体的に示すことができているのでしょうか?

かなり生意気な物言いになってしまいますが、具体例を示していただけると助かります。

454:デフォルトの名無しさん
12/12/23 02:21:15.59
~~になります。

だけでいいんだがどうして愚者はこうも挑発が好きなのか

455:デフォルトの名無しさん
12/12/23 02:43:44.60
move.exeならオレの隣で寝てるよ

456:デフォルトの名無しさん
12/12/23 08:28:39.87
>>453
xcopy, findstr, replaceあたりはexeがあるけど、copy, move, renameあたりは検索してもexeが無いね。
ちなみに巨大ファイルをmoveコマンドで移動中にタスクマネージャを確認するとmove.exeなんて出てこない。(xcopyコマンドだとxcopy.exeが出てくる)
その代わりにcmd.exeのCPU使用率が上がるから、moveコマンドはcmd.exeに内包されてるんだと思うよ。

457:デフォルトの名無しさん
12/12/23 09:08:24.00
start move.exe
そんなもの無いのがすぐ分かるだろw

458:デフォルトの名無しさん
12/12/23 09:46:18.63
今の人間に内部コマンドと外部コマンドと言っても通じんのだろうな…

459:デフォルトの名無しさん
12/12/23 11:43:17.57
逆に古いユーザはDOSのMOVE.EXEを記憶してるから勘違いする

460:デフォルトの名無しさん
12/12/23 12:13:25.51
冬休み初日としてはまずまずの流れ。

461:デフォルトの名無しさん
12/12/23 14:10:11.21
move.exeなんて無いのに

move.exe /?

ってやるとヘルプが表示されるね。訳わからん・・・

462:デフォルトの名無しさん
12/12/23 15:17:39.19
>>433 も書いてるけど、move.gif とか move.xxx でも表示されるよ。

463:デフォルトの名無しさん
12/12/23 18:53:25.22
内部コマンドかどうかは>>433で分かるってことよ

464:デフォルトの名無しさん
12/12/23 18:56:03.43
dir.exe *

465:デフォルトの名無しさん
12/12/23 18:57:20.66
内部コマンドかどうかは

"move" /?

だな

466:デフォルトの名無しさん
12/12/23 19:00:11.40
set PATHEXT=;
move /?
だろ

467:デフォルトの名無しさん
12/12/23 22:45:54.68
>>465の勝ち

468:デフォルトの名無しさん
12/12/23 23:26:58.89
>>465
xcopyやfindstrでも同じように出るぞ

469:デフォルトの名無しさん
12/12/23 23:50:04.07
>>468
あほう?

470:デフォルトの名無しさん
12/12/24 00:54:57.00
だな

471:デフォルトの名無しさん
12/12/24 03:04:46.17
>>469-470
お前らがWin7使ったことないというのはわかった。

>>465で違う結果になるのはXPでは確認、7では同じ。

472:デフォルトの名無しさん
12/12/24 10:27:05.61
でたらめのコマンド名でも同じエラーだし

473:デフォルトの名無しさん
12/12/24 10:57:47.53
Win7では
move. /? と xcopy. /? は違うのか?

474:デフォルトの名無しさん
12/12/24 14:27:35.04
Win7では
"move" /? 外部だけ検索
move. /? 内部だけ検索

475:デフォルトの名無しさん
12/12/31 15:15:27.57
初心者~管理者まで必読!コマンドラインが消えた

476:デフォルトの名無しさん
12/12/31 20:32:30.63
cmd.exe や PowerShell ですが
System32 と SysWOW64 にあるんだけど
どっちを使えばいいの?

477:デフォルトの名無しさん
12/12/31 21:08:29.78
64bitをつかいたければ32
32bitをつかいたければ64

478:デフォルトの名無しさん
12/12/31 21:10:25.52
右折したければ左にハンドルを回す
左折したければ右にハンドルを回す
みたいな

479:デフォルトの名無しさん
12/12/31 22:14:02.12
サンクス
System32 に 64 ビットのバイナリがあるのか

480:デフォルトの名無しさん
12/12/31 23:50:43.88
それは64bitからの場合だよ
32bitからだとまたちがうんよ

481:デフォルトの名無しさん
13/01/01 00:00:05.49
32bit から 64bit なんて、呼べたっけ?

482:デフォルトの名無しさん
13/01/01 00:09:19.40
呼べるにゃ

483:デフォルトの名無しさん
13/01/01 02:44:30.56
32bitから64bit呼ぶ場合はSysnative

484:デフォルトの名無しさん
13/01/02 11:58:44.24
>>475
スレ立ってからレス数が伸び悩んでいたのでDAT落ちしたのか。
お互い9スレ目まで来ていたのにな。
「コマンド」「DOS」ぐらいでしか引っかからないスレタイが一番の問題だったな。
こっちは「スクリプト」「バッチ」「bat」「cmd」とかで引っかかるから断然有利。

485:デフォルトの名無しさん
13/01/02 12:54:52.91
>>483
64bit版のcmd.exeを管理者としてコマンドラインから実行したいのだけど、
%windir%\sysnative\cmd.exeを管理者特権でコマンドライン実行するにはどうしたらいいの?

486:デフォルトの名無しさん
13/01/02 14:52:57.11
そのコマンドラインは32/64どっちなんだよお

487:デフォルトの名無しさん
13/01/02 16:06:15.80
>>486
わかりません
64ビットOSで「ファイル名を指定して実行」した場合を想定してはいます

488:デフォルトの名無しさん
13/01/02 16:48:49.20
UTF8で保存されたテキストファイルがあるんですが、BOM有なのかBOM無なのかを判断する方法はありますか?
コマンドでなくてもいいんですが、Windowsの標準機能だけで判断したいのです。

489:デフォルトの名無しさん
13/01/02 17:10:21.21
「バッチファイルだけで、UnicodeLE や UTF-8 の BOM を除去する。」
これを使えば前後のファイルを比較して違ってれば有と分かるな

490:488
13/01/02 18:25:55.57
自己レスです。
DEBUGコマンドでテキストファイルをバイナリ表示し、
先頭2バイトが「FF FE」(ビッグエンディアンの場合は「FE FF」)であるか否かで
BOMの有無が確認できました。

>>489
ありがとうございます。
でもその方法はチトめんどいです (^_^;)

491:デフォルトの名無しさん
13/01/02 19:03:03.41
>>490
UTF-8のbomのバイト列は「EF BB BF」なんだけど、
UTF-8で保存されたテキストファイルを調べたいんじゃなかったの?

492:デフォルトの名無しさん
13/01/02 19:59:35.85
先頭文字を調べればいいだろ

493:デフォルトの名無しさん
13/01/02 20:21:51.89
先頭4文字がか調べればいい

494:デフォルトの名無しさん
13/01/04 00:23:10.23
for文中にカウントアップして進捗状況がわりにechoさせてるんだけどカウントが多いと今までの表示が凄い勢いで上にぶっ飛んでいくんだよ
何とか1行の中でカウントアップしたいんだけどバッチだけじゃ無理かな

495:デフォルトの名無しさん
13/01/04 00:32:29.38
LFだすからだろ
CRにしとけ

496:デフォルトの名無しさん
13/01/04 00:58:37.83
>>494
遅延展開で、変数に入れて、clsして、echoとか

497:デフォルトの名無しさん
13/01/04 01:03:01.82
set /p hoge=hogehoge <nul

498:デフォルトの名無しさん
13/01/04 01:22:48.68
<nulは知らなかった。ありがとう。(横からだケド)
SetLocal EnableDelayedExpansion
for /L %%a In (1,1,9) do (
  :cls
  set /A b=!b!+1
  set /P b=!b!<nul
  pause>nul
)

499:デフォルトの名無しさん
13/01/04 01:50:05.74
ありがとう
正直お前らが何言ってるのかさっぱりだからちょっと勉強してくる

500:デフォルトの名無しさん
13/01/04 08:55:30.30
やっと分かったすげー、バッチだけでプログレスバーできるとは

501:デフォルトの名無しさん
13/01/04 12:28:51.75
>>498
aが既にあるのにbをインクリメントする必要なくね?

502:デフォルトの名無しさん
13/01/04 17:40:13.57
引用

コマンドプロンプトやバッチファイルで、環境変数に改行文字(CR)を入れて使う。

環境変数に改行文字(CR)を入れる。
名 の unicode が 540D、これをシフトJISで読むと、0D 54 つまり、CR+T であることを利用して、CR を抜き出します。

setlocal enabledelayedexpansion
for /f "delims=" %%1 in ('cmd /u /c echo;名') do (
set CR=%%1
set CR=!CR:~0,1!
)

改行文字(CR)を使うときは、環境変数を遅延展開します。

echo aaa!CR!bbb

503:デフォルトの名無しさん
13/01/04 17:47:55.15
>>493
set /p x= < 対象ファイル
if "%x:~0,4%"=="" (echo BOM有) else echo BOM無

504:デフォルトの名無しさん
13/01/04 22:20:24.40
>>501
aはforループのダミーですしおすし

505:デフォルトの名無しさん
13/01/04 22:23:03.35
for /f %%i in ('"cmd /k prompt $h <nul"') do set bs=%%i
for /l %%i in (0,10,100) do @(ping -n 2 0 >nul
set /p=%bs%%bs%%bs%%%i%%<nul)

506:デフォルトの名無しさん
13/01/05 04:20:00.46
<nul
に、へー、と思ってググったら

for /L %%i in (1,1,80) do (
ping -n 1 127.0.0.1 >nul
set /P <nul =#
)

でプログレスバーっぽくできることに増々、へー、となった。

507:デフォルトの名無しさん
13/01/06 23:34:29.16
win764bitで、bluetoothアダプタの無効→有効をバッチファイルでできますか?

スリープ復帰したときbluetoothマウス見失うことが頻発してて
いつも手動で画面右下のアイコンから、bluetoothアダプタの無効→有効してます。

508:デフォルトの名無しさん
13/01/07 00:08:11.46
URLリンク(vok.paburica.com)
の、デバイスの有効・無効をコマンドプロンプトから行いたい
にそれらしい方法はあるな
URLは直接貼れなかった

509:デフォルトの名無しさん
13/01/07 17:04:07.31
devcon.exe

510:デフォルトの名無しさん
13/01/08 21:22:07.64
デブゴン?

511:デフォルトの名無しさん
13/01/09 01:03:07.71
>>507 です

>>508
>>509 を参考に試した結果、思ったとおりのモノができました

ありがとうございます

512:デフォルトの名無しさん
13/01/09 22:42:43.43
254 : デフォルトの名無しさん[sage] : 投稿日:2011/10/31 06:25:29
hogehogeという名前のフォルダを右クリックの「送る」に登録したバッチファイルに送ると、
WinRARで圧縮すると同時に圧縮したファイル名の先頭にその時の日付と時刻を
「(yy-mm-dd_hh-nn) hogehoge.rar」
このように追加したいのですがどういう書き方をすれば良いでしょうか?

255 : デフォルトの名無しさん[sage] : 投稿日:2011/10/31 07:16:57
cd /d "%~dp1"
set "ymdhm=%date:~2,2%-%date:~5,2%-%date:~8,2%_%time:~0,2%-%time:~3,2%"
set "path=%path%;C:\Program Files\WinRAR"
winrar a "(%ymdhm%) %~nx1.rar" "%~nx1"

前スレでこのようなバッチファイルを作って頂いたのですが、
XPではうまく動作していたんですがWin7 64bitに移行してから、
複数のファイルをバッチファイルに送ると、ひとつのファイルしか圧縮されません。
すみません、教えて下さい。

513:デフォルトの名無しさん
13/01/10 00:40:09.35
shift /?

514:デフォルトの名無しさん
13/01/10 23:23:51.15
自分なりに作ってみたんですがどうでしょうか?
一応動いてはいるんですが、2個目以降のファイルは1個目に作られたアーカイブに追加していってる感じになっちゃってますね・・・。
C#を趣味で少しかじっただけなので、こうやってバッチ組むのは初めてなんです。。

@ECHO OFF
SETLOCAL
SET RARPATH="C:\Program Files\WinRAR\winrar.exe"
cd /d "%~dp1"
for %%1 in (%*) do %RARPATH% a -ag+(YY-MM-DD_HH-MM) " %~n1" "%%~nx1"

515:デフォルトの名無しさん
13/01/11 05:04:52.69
>>514
君がしたい動作になるようにWinRARのヘルプのコマンドラインの項をよく読め

516:デフォルトの名無しさん
13/01/11 19:39:07.48
setlocal
【オプションなど】
:LOOP
if "%~1"=="" goto END
【forコマンド処理など】
shift
goto LOOP
:END
exit

ファイルが存在する間はshiftでループして、
存在しなくなったらエンドみたいのが基本形かな。

アーカイバのオプションなんかはよく理解した上で設定しないと、
意図した通りにはならないだろうから要熟読ね。
てか、rar.exeではなくwinrar.exeなのか。

517:デフォルトの名無しさん
13/01/11 22:18:50.38
>>516
ありがとうございます。参考にします。
rar.exeを使うほうが自然ですね、すみません。

518:デフォルトの名無しさん
13/01/14 21:30:58.80
力を貸してください。
下記コマンドを使用した際、
findのエラー出力で"ファイルが見つかりません"と標準で出るのを非表示にしたいです。
findのみでしたら 2>nulで消えたのですがこの使用だと抑止できないのでしょうか?

for /F "tokens=3" %i in ('dir /S K:\HOGE\ ^| find "のファイル"')do set a=%i

519:デフォルトの名無しさん
13/01/14 21:53:08.03
findのエラー出力ではなくdirのエラー出力だから

520:デフォルトの名無しさん
13/01/14 22:30:18.25
>>519
なるほど・・・ありがとうございました。
初歩的なことでした、すみません。

521:デフォルトの名無しさん
13/01/15 02:23:58.35
写真屋のエレメンツでTIF画像を開くために、画像をペイントで1回上書き保存をしなきゃいけないんだけど
その画像が膨大な量あるので、バッチで一括処理したいんですが何かヒントをいただけないでしょうか

522:デフォルトの名無しさん
13/01/15 11:43:51.68
TIFFを他の形式に一括変換するだけじゃないの?
バッチファイルじゃなくそういうソフト使えばいいだけじゃない?

523:デフォルトの名無しさん
13/01/15 21:59:08.70
copy *.tif *.jpg

524:デフォルトの名無しさん
13/01/16 00:21:36.26
ren *.tif *.jpg

525:デフォルトの名無しさん
13/01/16 14:52:31.61
画像変換ならImageMagickのバイナリ拾ってこいよ

526:デフォルトの名無しさん
13/01/16 18:26:03.77
Windows7 x64で利用したいのですが、管理者権限のあるプロンプトから

 管理者権限を継承せずに別のバッチファイルを呼び出し
 管理者権限を持っているプロンプトに戻る方法
 :: 逆(権限なしから権限ありを呼ぶ)でも化

もしくは

 管理者権限を継承しないアプリケーションの呼び出し

をするにはどうしたら良いでしょうか?

527:デフォルトの名無しさん
13/01/16 18:51:13.57
どうしようもねえよ

528:デフォルトの名無しさん
13/01/16 21:34:27.29
>>526
runas

529:デフォルトの名無しさん
13/01/17 15:55:07.56
カレントディレクトリにdir 1, dir 2, dir 3ディレクトリがあり

copy "dir 1/a.txt" "dir */a.txt"

でコピーしようとしたらディレクトリが存在しないと言われました

どうすれば空白文字の入った兄弟ディレクトリにコピーできますか?

530:529
13/01/17 15:57:04.17
追記。実際にはディレクトリは10個もあるので一つ一つパスを記述するのは無しです。

531:デフォルトの名無しさん
13/01/17 16:25:23.61
1つのファイルを複数フォルダへなんていう都合のいいコマンドは無い。
諦めて全部書くか、法則性をもとにループで回せ。

for /l %i in (1,1,10) do copy hoge.txt "hage%i\hoge.txt"

みたいにな。
ていうかパスに/使うなんてどこから出てきた?
余所の流儀を安易に突っ込むなよ。

532:526
13/01/17 17:35:01.89
>>528
ありがとうございます、試してみます

533:529
13/01/17 18:40:10.74
>>531
うまくいきました ありがとうです
サブルーチン、if、for、setとかを覚えました
区切り文字気をつけます

534:デフォルトの名無しさん
13/01/18 00:58:00.05
for 文で数値を変えながらsqlを実行してますが
ある変数での処理時間がかかりすぎる場合にタイムアウトして
次の変数になり処理するようにすることはできませんか?

535:デフォルトの名無しさん
13/01/18 01:01:18.56
>>534
localhostにpingでも打ってカウントしれ

536:デフォルトの名無しさん
13/01/18 01:35:24.32
>>535
どんな意味が?

537:デフォルトの名無しさん
13/01/18 06:42:06.30
>>536
お前の人生くらいには

538:デフォルトの名無しさん
13/01/18 06:43:57.60
>>534
コマンド側で割り込みするの気持ち悪いだろ
SQL側でやれ

539:デフォルトの名無しさん
13/01/18 12:46:33.46
cleanmgr /sageset:10
cleanmgr /sagerun:10
としたとき全ドライブでクリーンアップされますが、DVDドライブなども含まれてしまいますか?

540:デフォルトの名無しさん
13/01/18 13:16:41.44
>>533
区切り気を付けるって…

なんか勘違いしてる気がするな。

541:デフォルトの名無しさん
13/01/19 15:13:21.29
バッチファイルにドラッグ&ドロップされたものがファイルかフォルダかを判別する方法はありますか?
ファイルは拡張子が無い場合もあるので「if %~x1%==""」とかでは判別できませんでした。

542:デフォルトの名無しさん
13/01/19 16:14:45.32
>>541
以下の内容をバッチファイルにしてSendToフォルダに入れてから、好きなファイルまたはフォルダを右クリック→「送る」→バッチファイル の順に操作してみてくれないか?
(普通に引数指定で実行してもいいけど)

@ECHO OFF
ECHO 【情報】引数は"%~f1"です。
IF "%~f1"==""  ECHO 【情報】引数が未指定です。
DIR/A "%~f1\." > NUL
IF ERRORLEVEL 1  GOTO STEP2
GOTO STEP3
:STEP2
ECHO 【情報】引数にファイルが指定されています。
GOTO STEP4
:STEP3
ECHO 【情報】引数にフォルダが指定されています。
:STEP4
ECHO 【情報】引数指定テスト終了。
PAUSE

543:デフォルトの名無しさん
13/01/19 16:23:51.64
c:\users\user\sendtoがファイルになるが?ぼけ

544:デフォルトの名無しさん
13/01/19 16:34:14.61
>>543
Windows7ではXPと異なり、以下のようにdirコマンドを使って(/aは省略不可)、SendToフォルダの見つける必要があるので注意しましょう。
※この例の場合、"C:\Users\usr\AppData\Roaming\Microsoft\Windows\SendTo" が本当のSendToフォルダになる。

c:\Users\usr>dir/a *SendTo
ドライブ C のボリューム ラベルがありません。
ボリューム シリアル番号は ****-**** です

c:\Users\usr のディレクトリ

2012/10/23 02:20 <JUNCTION> SendTo [C:\Users\usr\AppData\Roaming\Microsoft\Windows\SendTo]

545:デフォルトの名無しさん
13/01/19 16:34:56.71
相変わらず nul の使い道を理解してない情弱が多くて何よりだ

546:デフォルトの名無しさん
13/01/19 16:45:01.87
そういう情弱もな

547:542=544
13/01/19 17:02:25.08
確かにコンソールへのメッセージ表示ををNULデバイスにリダイレクトしても、エラーメッセージの表示までは抑制できない。
それは分かるのだが…

ちなみにWindows95発売前のMS-DOSだけが対象OSなら、dirコマンドなど使わずとも以下の一行で事足りるように記憶している。
(うろ覚えだから、あまり自信はない。結局。Windows95/NT4.0~Windows7の場合はVBScriptを利用するのが一番スマートかも?)

IF "%1\."==""  ECHO 【情報】ディレクトリが指定されてます。

548:デフォルトの名無しさん
13/01/19 17:02:59.04
>>541
ファイルであるか否かを判定するのではなく、
ディレクトリであるか否かを判定する。

if exist "%~1\*" echo;folder else echo;file

549:デフォルトの名無しさん
13/01/19 17:04:47.05
カッコが要った。
if exist "%~1\*" ( echo;folder ) else ( echo;file )

550:デフォルトの名無しさん
13/01/19 17:22:55.03
>>541の悩みを一行で解決してくれるとは、さすが情強

551:デフォルトの名無しさん
13/01/19 17:25:43.36
c:\users\user\sendtoがfileになるが?ぼけ

552:デフォルトの名無しさん
13/01/19 17:28:16.62
%~aIを見るのが正解だな

553:デフォルトの名無しさん
13/01/19 17:43:23.61
for /f usebackq %%i in (`mshta vbscript:execute^("CreateObject(""Scripting.FileS
ystemObject"").GetStandardStream(1).Write(CreateObject(""Scripting.FileSystemObj
ect"").FolderExists(""%~1"")):close"^)`) do echo %%i

554:デフォルトの名無しさん
13/01/19 17:54:32.51
バッチで簡単にできることをそこまでするかばか

555:デフォルトの名無しさん
13/01/19 17:57:46.98
>>552
set attribute=%~a1
if "%attribute:~0,1%"=="d" (echo;folder) else (echo;file)

と、いうところか。

556:デフォルトの名無しさん
13/01/19 17:58:34.45
そゆこと

557:デフォルトの名無しさん
13/01/19 21:28:35.08
>>555
ジャンクションやディレクトリのシンボリックリンクの属性も、
"d"になるの?

558:デフォルトの名無しさん
13/01/19 23:19:02.52
dにlが付く

559:デフォルトの名無しさん
13/01/20 06:20:53.31
パスにスペースを含むファイルをバッチファイルにドロップした時は%*%でパスを取得できるけど
%~n*%ってやってもファイル名は取得できないね。どうすればいいのだろうか?

560:デフォルトの名無しさん
13/01/20 10:56:15.00
普通に for で回すしかないんじゃないか?

for %%f in (%*) do echo %%~nf

561:559
13/01/20 11:31:33.22
>>560
そのままコピペしたらでけたよ!アリガ㌧!!

562:デフォルトの名無しさん
13/01/20 11:42:51.74
コマンドでファイルの文字コード変換やろうと思っているのですが、

URLリンク(scripting.cocolog-nifty.com)

のページの

set /p x="XX"^<nul

という箇所の「XX」の部分はキーボードからはどのように入力すればよいのでしょうか?

563:デフォルトの名無しさん
13/01/20 12:16:47.45
BOM(0xff 0xfe)か。
そのページからコピペ

564:デフォルトの名無しさん
13/01/20 12:41:02.09
batファイルスクリプトのみで文字と背景の色を変更する事はできませんか?
他の言語で言うcursesライブラリみたいなかんじで

565:デフォルトの名無しさん
13/01/20 14:30:53.47
>564
color /?

566:デフォルトの名無しさん
13/01/20 16:26:03.22
colorは画面全体
文字だけならfindstr

567:デフォルトの名無しさん
13/01/20 16:31:03.06
普通に%~n1でいいけど?

568:デフォルトの名無しさん
13/01/20 18:58:34.90
>>566
日本語でw

569:デフォルトの名無しさん
13/01/20 19:05:49.91
標準入出力に対応したコンソールってないですか?
PowerCmdとConsole2は未対応でした
有料でも構いませんがなるべく無料がいいです

570:デフォルトの名無しさん
13/01/20 21:09:19.49
cmd.exe

571:デフォルトの名無しさん
13/01/20 22:15:03.68
バッチファイルで文字色と背景色を変えて文字列をECHOする。

572:デフォルトの名無しさん
13/01/23 19:16:57.56
"set = *"と"set == *"の違いがよく解らないのですが、=を2つ付ける事に意味はあるのでしょうか?

573:デフォルトの名無しさん
13/01/23 19:35:34.29
どっちも
コマンドの構文が誤っています。
なので違いはない。意味もない。

574:デフォルトの名無しさん
13/01/23 21:23:30.42
set hoge=fuga
set hoge==fuga
この2つの違いとしたら前者はhogeに「fuga」が、後者は「=fuga」が入っている

575:539
13/01/24 20:56:38.30
すいませんこれ実行してもクリーンアップされませんでした
ダイアログが出て全てチェックはしました
なぜでしょうか
cleanmgr /sageset:10
cleanmgr /sagerun:10

576:デフォルトの名無しさん
13/01/25 03:14:53.32
バッチファイル内のset /aで、括弧使って計算をグループ化したらエラーに
マニュアルどおりにやってるはずなのに・・・
と色々ググったりしても解決せず

まさか・・・と思いエスケープしたら機能した
なんなのこの実装・・・
というか/?に書いとけよ・・・

577:デフォルトの名無しさん
13/01/25 03:23:31.15
エスケープなんか要らんけど。

具体的にどんな計算だったか書いてみろ。

578:デフォルトの名無しさん
13/01/25 04:06:41.20
気になるんだったらてめーで勝手に試せばええ

579:デフォルトの名無しさん
13/01/25 09:15:52.76
C:\>set /a (1 + 10) * 3
33
C:\>set /a (1+10)*3
33

エラーとやらにはならんな。

580:デフォルトの名無しさん
13/01/25 11:37:20.43
自分で文法間違ってファビョる奴は始末におえんな

581:デフォルトの名無しさん
13/01/25 14:19:34.10
(set /a (1+10)*3)
*3) の使い方が誤っています。

とか

582:デフォルトの名無しさん
13/01/25 20:23:51.65
入れ子の解析なんて俺ならしないな

583:デフォルトの名無しさん
13/01/25 23:44:41.72
ここレベル低いな
昨日今日始めた奴ばっかかよ

584:デフォルトの名無しさん
13/01/26 00:09:40.11
C:\>(set /a "(1+10)*3")
33
C:\>

585:デフォルトの名無しさん
13/01/26 00:11:42.35
>>583
高レベル(自称)さんちーす

586:デフォルトの名無しさん
13/01/26 00:20:00.74
超FAQに右往左往してる自覚はないんだな

587:デフォルトの名無しさん
13/01/26 00:32:47.78
誰か困ってる人がいたみたいだけど、俺は困らないしねぇ・・・

588:デフォルトの名無しさん
13/01/26 00:59:37.48
まぁお前は単なる冷やかしだけのゴミだけどね

589:デフォルトの名無しさん
13/01/26 01:48:01.36
>>584
へーこんなことできるんだ。

と低レベルな俺w

590:デフォルトの名無しさん
13/01/26 02:53:36.63
>>576-577
どんな間違いしたんだよ。 マヌケも反面教師として役に立つからかけやゴミカスが。

591:デフォルトの名無しさん
13/01/26 03:48:36.35
お前の脳みそ残念すぎ

592:577
13/01/26 13:10:43.53
>>590
なぜ俺を入れる…

593:デフォルトの名無しさん
13/01/26 13:15:21.75
あまりにも初心者的間違いをしでかしたので
恥ずかしくてそれを晒すことも出来ず
他人を貶める事でしか精神の安定を保てないのでしょう。

594:デフォルトの名無しさん
13/01/26 22:29:15.14
cls

595:デフォルトの名無しさん
13/01/27 02:14:30.10
>>593
それ自分のことじゃん
>>581のように答えを出せない馬鹿が、自己解決した奴に絡んで精神の安定を図ってるだけ
自分が初心者以下の能力しか持ってないことを自覚しないと

596:デフォルトの名無しさん
13/01/27 02:27:40.06
echo off

597:デフォルトの名無しさん
13/01/27 09:22:50.87
>>595
恥かきにのこのこ出てくることないのに。
>>581>>576が初心者以下の能力しか持ってない事を示しているわけだが。

598:デフォルトの名無しさん
13/01/27 09:42:55.38
>>595
581をやったの?

うわぁ……

599:デフォルトの名無しさん
13/01/27 23:34:33.33
>>597
お前いい加減にしたらどうよ
恥の上塗りはお前だわ

600:デフォルトの名無しさん
13/01/28 00:12:42.52
goto :EOF

601:デフォルトの名無しさん
13/01/28 01:26:41.80
>>600
ええ加減にせいよ お前ら Fack

602:デフォルトの名無しさん
13/01/28 03:17:13.41
だからなにをしでかしたのか言ってみろよ

あと577は間違いだ。謝罪する。

603:デフォルトの名無しさん
13/01/29 10:41:38.18
usbをパソコンに接続すると自動的に実行するやつってbatで出来ますか?

604:デフォルトの名無しさん
13/01/29 13:17:35.47
何を企んでるやら

605:デフォルトの名無しさん
13/01/29 13:44:48.95
usbにwebサーバを入れてCMS運用です

606:デフォルトの名無しさん
13/01/29 19:37:17.27
autorun.inf usb

607:デフォルトの名無しさん
13/01/30 13:19:29.33
なるほどありがとうございます
それを使ってやってみます

608:デフォルトの名無しさん
13/01/30 15:51:55.40
システムにパスが通ってるはずなのにコマンドが使えません
コマンドプロンプトからコマンドを打つと確かに使えます
batファイルからだと使えません
絶対パスで指定するしかないのですが、batファイルの中でもシステムのパスを見る方法はありませんか?

609:デフォルトの名無しさん
13/01/30 16:15:09.63
パスが通っていれば実行できる。実行できないのはパスが通ってないから。
キミが考えなきゃいけないのはどうして、そのbatの中ではパスが通っていないかという事。

610:デフォルトの名無しさん
13/01/30 16:56:23.42
愚か者は放置で

611:デフォルトの名無しさん
13/01/30 17:03:25.88
cmdファイルなら使えるよ

612:デフォルトの名無しさん
13/01/30 17:10:06.62
また勝手に放置とかいって仕切る奴がいるよ

613:デフォルトの名無しさん
13/01/30 19:11:18.79
batファイルからでも使えるよ

614:デフォルトの名無しさん
13/01/30 19:25:50.69
>batファイルの中でもシステムのパスを見る方法はありませんか?

@echo off
path

615:デフォルトの名無しさん
13/01/30 19:29:08.85
見えました!

616:デフォルトの名無しさん
13/01/30 20:02:54.28
Good Job !

617:デフォルトの名無しさん
13/01/30 20:50:17.99
>>608
64bit System32 SysWOW64 sysnative
この辺りのキーワードが該当するような…

618:デフォルトの名無しさん
13/01/30 21:02:08.61
ハズレ

619:デフォルトの名無しさん
13/01/30 21:10:46.23
すみません。
複数のフォルダ名を引数で渡して、それぞれのフォルダ内のファイルをコピーしたいのですが
"コマンドの構文が違っている"とエラーが出ます。お願いします。

@echo off

for /L %%i in (1,1,10) do (
if not "%%i" == ""(
xcopy %%i C:\Users\%%i\ /Y

)
else (exit)
)

620:デフォルトの名無しさん
13/01/30 21:24:51.10
ちなみにURLリンク(rubyinstaller.org)のexeファイルからインストールしたんですよ
なぜかbatファイルのみコマンドが効かなくて

621:デフォルトの名無しさん
13/01/31 19:01:09.01
if a==a(
コマンドの構文が違っています


最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch