06/07/11 00:24:53 HxtG+321
訂正
7c7
< 4 スレリンク(win板)
---
> 4 スレリンク(win板)
3:名無し~3.EXE
06/07/11 01:22:52 Jt4CDqIy
意気揚々と埋めてるから何かネタでもあるのかと思ったのに・・・
4:名無し~3.EXE
06/07/11 01:37:39 oqrI561G
for /?
5:名無し~3.EXE
06/07/13 01:06:15 CMHslxMB
だれもいない
6:WindowsXP
06/07/13 15:46:40 HlT6NdOe
誘導されて来ました。
クリックでTempフォルダの中身を消去するアイコン (.bat ファイル) を作りたいのですが、
rmdir /s "Tempフォルダのパス"
だとTempフォルダ自体も消えてしまいます。
この場合に限らず、ディレクトリの中身だけを削除する場合どのように命令すればよいのでしょか。
7:名無し~3.EXE
06/07/13 15:56:13 QTEtV8XE
消した後に作る
8:名無し~3.EXE
06/07/13 15:59:22 f3nQB2M5
Tempフォルダにcdしてrmdir /s .
なんてな
9:名無し~3.EXE
06/07/13 17:58:16 ooElHgFf
URLリンク(www.atmarkit.co.jp)
これのバッチファイルの書き方教えて。
10:名無し~3.EXE
06/07/13 18:00:49 4/io/uFv
>>9
その中にBATファイル例があるのは気のせいなんだろうか?
11:名無し~3.EXE
06/07/13 18:09:40 ooElHgFf
その例を
メモ帳で書いて拡張子を.batにしてhotfixと同じフォルダに入れて
クリックするだけでいいんですか。
12:名無し~3.EXE
06/07/13 21:51:09 /VQW/QIJ
>>7だと、アクセス権とか監査とかが復元できない場合があるので>>8のほうが賢いと思う。
ただ、/sだけでは「よろしいですか (Y/N)?」と聞いてきてしまうので、/qも付けたほうがいいかも。
13:名無し~3.EXE
06/07/13 21:55:08 /VQW/QIJ
あと、万が一対象フォルダが無くなった状態で実行すると、カレントフォルダ以下を
丸消しに逝ってしまうので、
cd 対象フォルダ&&rmdir /s /q .
としたほうが良いと思う。
14:名無し~3.EXE
06/07/13 21:58:41 64yIeWy4
そうだけど、全部手入力するするの?
dir /b > patch.batとすれば、多少、編集が楽になるし、
for など使えば、-m -z でOKなパッチだけだったら、
ディレクトリ内のパッチをあてるようにもできるだろうし。
-m -z が使えないのが混ざってるとだめだけど。
15:14
06/07/13 22:02:43 64yIeWy4
>>11 のコメントでした、コメントがとんでしまってすまん。
16:名無し~3.EXE
06/07/13 22:21:46 1rMuZnzq
dir /b /o:d > out.txt
こうしておけば更新日時が古い順に並ぶお。
ダウンローダでファイルの日時を取得してるならこうやって並べると気持ちいいかも。
17:名無し~3.EXE
06/07/20 01:17:00 w2h+z3Fq
話の途中ですみません。
XPProで回復コンソールをWINDOW配下にインストールしたいのですが、
何かいい方法ないでしょうか? デフォだと%SYSTEMDRIVE%に強制的に
作られるんですが、ルートってのは目障りなんです。手動でWINDOWS
配下に移し、BOOT.INIのパス表記も合わせても、回復コンソール起動中に
TXTSETUP.SIFが見つからない云々…のエラーが出てしまいます。
よろしくおねがいします。
18:名無し~3.EXE
06/07/20 09:44:57 DOSQ1KF2
どう見てもスレ違いです。
下記スレッドで再度質問してください。
WindowsXP質問スレ 152ページ目
スレリンク(win板)
本当にありがとうございました。
19:名無し~3.EXE
06/07/20 09:45:28 DOSQ1KF2
うほっ、IDがDOS
20:名無し~3.EXE
06/07/20 13:29:50 /kQGoaOV
神キタ━━━(゚∀゚)━━━ !!!!!
21:名無し~3.EXE
06/07/20 14:00:03 bWg0PLeg
質問です。
batでwavを呼び出して一度だけ再生して
終了させる方法はありませんか?
環境はXPproです。
22:21
06/07/20 14:28:35 bWg0PLeg
自己解決しました
23:名無し~3.EXE
06/07/20 23:07:55 KmtrP+Qh
・・・どう解決したか書いとけよ。
24:名無し~3.EXE
06/07/21 18:13:50 QFAk7q3Q
そんな情報イラン
25:21
06/07/22 05:25:08 WFo5cAzv
>>23
自分としては
一応別の言語でそれっぽいもの作って対応。
sleepとかもいつの間にか消えてたんでついでに作りました。
なんでバッチに拘ってるか分からなくなってきたorz
というかコマンドプロンプトで解決できてないや・・・
26:名無し~3.EXE
06/07/22 12:50:08 NiBpIi7E
sndrec32 /embedding /play ~.wav
27:名無し~3.EXE
06/07/23 15:55:03 98gcVlRV
全ディスク中から、特定の名前のディレクトリだけを指定したいのですが、
ディレクトリ名にはワイルドカードは使えないんでしょうか?
例:\settingというディレクトリを指定したい
28:名無し~3.EXE
06/07/23 21:00:56 kD5ysoEu
なんでこういう実験してみればわかるようなことを質問するかなぁ・・・
29:名無し~3.EXE
06/07/24 04:00:54 Pj4INBC0
とりあえず置いときますよ。
URLリンク(www.seshop.com)
URLリンク(www.vector.co.jp)
30:名無し~3.EXE
06/07/26 00:30:25 7KnQnoV2
XPのcmd.exe上で、URLエンコードされたURLを引数として、
IEを直接呼び出したいと思っています。
例えばこんな感じです。
> iexplore "URLリンク(www.google.com)
この例はうまくいくのですが、運悪く %CD% が含まれてしまうと、
そこの部分がカレントディレクトリ名に展開されてしまって期待通りになりません。
例えば以下はうまくいかない例です。
> iexplore "URLリンク(www.google.com)
環境変数の展開を抑制する方法はないものでしょうか。
ダブルクオートの代わりにシングルクオートは試してみましたが駄目でした。
31:名無し~3.EXE
06/07/26 01:11:48 xPsBkOpx
>>30
検証したわけではないが、%を^%に変更したらどうだべ?
32:30
06/07/26 01:17:40 7KnQnoV2
>>31
駄目でした…。
Google側に、「^」を含んだまま渡ってしまいます。
33:名無し~3.EXE
06/07/26 04:55:47 bvsfqXHv
set CD=^%CD^%
しておくとか
34:名無し~3.EXE
06/07/26 05:23:01 9XtTVqad
>>30
Shift_JIS以外のコードを使ってみるとか。
35:名無し~3.EXE
06/07/26 05:28:41 Fcd8s0ZU
エスケープが必要な文字(%と&)を^でエスケープしてダブルクウォートで囲まないで渡す
36:30
06/07/26 06:30:30 7KnQnoV2
>>35氏の方法でできました!
>>33
なるほどこれもいけますね。
汎用性がちょっと低いのが難点でしょうか。
>>34
実はこのコマンドラインを最終的には Perl のスクリプトの中に
含めたいのですが,その関係上でできれば Shift_JIS で
いきたかったのです。
>>31氏も含め皆様どうもありがとうございました!
37:名無し~3.EXE
06/07/26 13:17:43 Uf4XzLbe
なんか気分がいい
38:名無し~3.EXE
06/07/27 13:34:20 AYHBeKOk
アニメ BEST100
URLリンク(www.animedepot.biz)
1位
URLリンク(www.animedepot.biz)
2位
URLリンク(www.animedepot.biz)
3位
URLリンク(www.animedepot.biz)
4位
URLリンク(www.animedepot.biz)
5位
URLリンク(www.animedepot.biz)
6位
URLリンク(www.animedepot.biz)
7位
URLリンク(www.animedepot.biz)
8位
URLリンク(www.animedepot.biz)
9位
URLリンク(www.animedepot.biz)
10位
URLリンク(www.animedepot.biz)
39:名無し~3.EXE
06/07/27 14:05:13 ed7fKJ1k
バッチファイルについて教えてください。
同一フォルダにある全てのテキストファイル(*.txt)の頭に、jpegファイルを連結して偽装jpegファイル
を作りたい(目的は、iアプリのreate用)のですが、これのためのバッチファイルが書けません。
== connect.bat ==
copy dummy.jpg dummy2.jpg
copy dummy2.jpg+%1
ren dummy2.jpg %1
これを connect *.txt で実行すると、やはり全てのテキストファイルが連結されてしまってうまくいきません。
PC9801時代からDOSは触ってるのですが、このような処理をどう書くのか忘れてしまって困っています。
なにかいい案はないでしょうか?
40:名無し~3.EXE
06/07/27 16:57:01 AwHWEOxl
forでループさせろよ
41:名無し~3.EXE
06/07/27 17:18:18 ed7fKJ1k
>>40
forあたりを使いそうなのはわかるのですが、どう書いたらよいのかわかりません。
42:名無し~3.EXE
06/07/27 17:48:09 ejfXxMCP
for /?
43:名無し~3.EXE
06/07/27 18:42:23 ZyGLQChd
four のレスは見事だな
44:名無し~3.EXE
06/07/27 19:16:31 3HWIL+gJ
忘れたんなら for /? みれば思い出せるだろ。
DOS時代のforの機能で十分だし。
45:名無し~3.EXE
06/07/27 19:39:25 IqaLZ9Vg
>>39
2行目を
for /f %%F in ('dir /b %1') do copy dummy2.jpg+%F
にしたらどうだ?
46:名無し~3.EXE
06/07/27 19:53:31 FVkrqnx/
forが使えんやつはgotoとshiftでも使ってろや
47:45
06/07/27 21:11:39 IqaLZ9Vg
スマソ、間違えたorz
for /f %%F in ('dir /b %1') do (
copy dummy2.jpg+%%F
ren dummy2.jpg %%F
)
>>45をカキコした直後にブレーカーが落ちたもんですぐ訂正できなかった(泣)
48:名無し~3.EXE
06/07/27 21:35:39 3HWIL+gJ
>>45,47
copy /?
49:45
06/07/27 21:53:28 IqaLZ9Vg
>>48
いけね、コピー先のファイル名はこの場合省けないのねorz
for /f %%F in ('dir /b %1') do (
copy /y dummy.jpg+%%F dummy2.jpg
move /y dummy2.jpg %%F
)
これでおk?
50:名無し~3.EXE
06/07/27 22:24:06 HBIHjoKe
move?
51:名無し~3.EXE
06/07/28 03:06:39 1XL80h13
バッチファイルのコマンドラインの途中で改行を入れたいんですが
どうしたらいいですかね?
それと
dir hogehoge.txt /s /b
で取れたフルパスをそのまま実行させたいのですがどうしたらいいのでしょう?
お願いします
52:名無し~3.EXE
06/07/28 03:20:05 DKUy5lzO
改行無理
お前も例にもれず、for /?
53:51
06/07/28 03:22:10 1XL80h13
補足です
hogehoge.txtはファイル名は判っていますがサブフォルダに深く潜り込んでいて
その為dir検索しています
54:51
06/07/28 03:27:53 1XL80h13
仕方なく現在は検索結果を別のバッチファイルにリダイレクトして実行させてます
で
start(改行文字)
hogehoge.txtのフルパス
ってやりたかったんですが・・・
55:名無し~3.EXE
06/07/28 03:48:25 DKUy5lzO
>>54
forを使うのはループのためじゃなくってコマンド結果を環境変数に格納するためだ。
56:51
06/07/28 03:53:20 1XL80h13
>>55
トークン切り出してとか?
57:51
06/07/28 03:54:27 1XL80h13
あ、そっか!
ありがとー
58:名無し~3.EXE
06/07/29 01:06:41 DUV1QYxh
echo タイトル: %~1
echo URI: %~2
echo 回数: %~3
echo 間隔: %~4 [sec]
FOR /L %%I IN (%~3,-1,1) DO (
title [%%I / %~3 @ %~4sec] %~1
.\Script\sleep.exe %~4
.\Jane2ch.exe -b -h "%~2"
)
このコマンドをSleep.exe使わずにやりたいんですけど、
これって
.\Script\sleep.exe %~4
↓
.\Ping.bat 1 %~4
でPing.batの中は
@echo off
ping localhost -n 2 > nul
ping localhost -n %1 > nul
でだめなんでしょうか?
動かないんですけど。。。
59:名無し~3.EXE
06/07/29 01:23:04 QdzE6wVf
だめ。
60:名無し~3.EXE
06/07/29 03:01:48 DUV1QYxh
>>59
やっぱりだめですか
書き換え方教えてください
61:58
06/07/30 16:20:22 TgP6edG5
どなたか教えてください
62:名無し~3.EXE
06/07/30 16:32:31 jss5BkeS
ping.bat
ping
ping.exe
63:58
06/07/30 17:24:04 TgP6edG5
>>62
えっ、どういうことでしょうか?
echo タイトル: %~1
echo URI: %~2
echo 回数: %~3
echo 間隔: %~4 [sec]
FOR /L %%I IN (%~3,-1,1) DO (
title [%%I / %~3 @ %~4sec] %~1
ping.bat ← ここです
.\Jane2ch.exe -b -h "%~2"
)
ってことですか?
64:名無し~3.EXE
06/07/30 18:17:51 URlOCn8N
久々に言おう・・・
必死だなw
65:名無し~3.EXE
06/07/30 18:42:16 MIqSJOjQ
>>63
ping.batの中身の方だ。
つーか、そんな紛らわしい名前付けるな。
66:名無し~3.EXE
06/07/30 19:16:53 OKe+j+Rm
pingって書いたら、ping.batが実行されるかping.exeが実行されるか知ってる?
それにbat中で別batを呼び出すのに単にbatって書いちゃダメだろ。
67:名無し~3.EXE
06/07/30 22:37:49 TgP6edG5
>>65-66
えーと、こういうことでしょうか?
echo タイトル: %~1
echo URI: %~2
echo 回数: %~3
echo 間隔: %~4 [sec]
FOR /L %%I IN (%~3,-1,1) DO (
title [%%I / %~3 @ %~4sec] %~1
Call .\Waiting.bat %~4 ←ここを変更(名前は紛らわしいとだめらしいのでWating.bat)
.\Jane2ch.exe -b -h "%~2"
)
Waiting,batの中は
@echo off
ping localhost -n 2 > nul
ping localhost -n %1 > nul
↑じゃなしに
これなんですか?
ping
ping.exe
68:67
06/07/31 02:00:01 pjJQiXPC
出来ました
ありがとうございました
69:名無し~3.EXE
06/08/02 13:36:04 wsgBoBsR
XP sp2で USBマウスが反応しません。 (動きません)
マウス(Hamma)の型番が不明でドライバーも見つかりません。
ディバイスマネージャでは、PS2-Pad というドライバがひとつ
だけあります。 ドライバの更新、トラブルシューティングを
やっても直りませんでした。
どうすれば、マウスが動くようになるでしょうか?
70:名無し~3.EXE
06/08/02 14:12:40 5OwJeRGW
ネタ?
スレタイ読める?
71:69
06/08/02 14:23:26 wsgBoBsR
すみません。 初心者スレと見間違いました。
申し訳ありませんでした。 w
気にせずに質疑、議論を進めてください。
72:名無し~3.EXE
06/08/02 14:38:30 BwFBApMu
質疑、議論とかそんな大そうなスレじゃないし
. ィ
.._ .......、._ _ /:/l!
:~""''.>゙' "~ ,、、''‐'、| _ ご冗談を
゙、'、::::::ノ:::::::_,.-=. _~:、 /_.}'':,
``、/:::::::::__....,._ `゙'Y' _.ェ-、....._ /_゙''i゙ノ、ノ
,.--l‐''"~..-_'.x-='"゙ー 、`'-、 ,:' ノ゙ノブ
" .!-'",/ `'-‐'') /\ `/ でノ-〈
.-''~ >'゙:: ‐'"゙./ ヽ.,' ~ /
//::::: ', / ,:'
73:名無し~3.EXE
06/08/03 00:20:18 6j4+y6+n
こんばんは 最近コマンドラインの勉強を始めた者ですが質問があります。
コマンド実行結果によるERRORLEBELの値で分岐処理をしようと思っているのですが、
ERRORLEVELの値についてコマンド/?を調べてもどこにも書かれていません。
自分でざっと調べた結果、正常処理なら「0」、異常処理なら「それ以外」のように
思うのですが、具体的な値はどのように調べればよろしいでしょうか
ご教授願います。
74:名無し~3.EXE
06/08/03 00:28:02 L7kyqlc5
確かに未だにまともなリファレンスがないのはアレだよなぁ。
75:名無し~3.EXE
06/08/03 00:55:21 CapLiwm3
>73
これと言った統一ルールは無いよ。
ただ特に説明が無ければ、正常だろうがエラーだろうが
大抵は「0」が返ってくると思う。
何が変えるかはコマンドやexe次第。
C言語分かるなら、mainの戻り値≒ERRORLEVEL と思えばよろし。
76:名無し~3.EXE
06/08/03 01:58:48 JXRq3dhJ
0か1以外返すやつなら大抵readmeやヘルプとかに書いてる
77:名無し~3.EXE
06/08/03 03:47:48 CnXcCkLB
コマンドで説明がないものは基本的に戻り値に意味が無いものだと思え。
統一した値など全くない。
78:名無し~3.EXE
06/08/03 03:54:37 BA6wBAJp
それでも0は想定の範囲内くらいの意味は残ってるだろ。
79:名無し~3.EXE
06/08/03 06:08:52 CnXcCkLB
>>78
0にもまったく意味なし。
正常でも異常でも0を返すコマンドはいっぱいある。
80:名無し~3.EXE
06/08/03 06:13:20 4ppbqAX6
EXIT_SUCCESS は 0 じゃね?
81:名無し~3.EXE
06/08/03 16:09:37 ki5O0+Zn
>>77,79
知ったかもほどほどに
82:名無し~3.EXE
06/08/03 19:25:12 YhlYC0Ja
2ちゃんねるの90パーセントは知ったかで構成されている
83:名無し~3.EXE
06/08/03 19:58:48 b//5CN2i
0が帰ってきたときは正常ということは全く言えないので0も無意味。
>>81はもっと勉強しる。
84:名無し~3.EXE
06/08/03 20:07:13 EDvrYDRp
正常に終了したわけじゃなくても、想定の範囲内で終了したなら
0を返すと思うが…。
85:名無し~3.EXE
06/08/03 20:51:35 b//5CN2i
想定の範囲内とかわけわからん言い方よせ。
もしダンマリとか落ちるとか以外の終了の場合ならそりゃその通りかもしれんが
普通それは想定内とか言う意味じゃない。
(そういうコマンドなら、unknownエラーでも0を返すよ)
86:名無し~3.EXE
06/08/03 22:13:36 L7kyqlc5
>>79
なんのコマンドかに因らず「0なら正常終了」と考えられるかといえばそうじゃないのは確か。
でも、コマンドごとにどういうケースで0返すか考えて使うなら非常に有用だよ。
87:名無し~3.EXE
06/08/03 22:39:59 b//5CN2i
>>86
それは逆。コマンド毎に、エラーコードXXはこういう場合というのが考えれるのなら非常に有効。
88:名無し~3.EXE
06/08/03 23:15:55 JXRq3dhJ
┐(´ー`)┌
89:名無し~3.EXE
06/08/04 00:30:32 3SMtX8D3
>75で既に十分語られていると思うのだが。
90:名無し~3.EXE
06/08/04 01:08:39 0qOdq+cq
まあ標準コマンドだと殆どは戻り値に意味が無いね。
91:名無し~3.EXE
06/08/04 07:31:44 kPylik4/
正常終了=0、何らかのエラー=0以外の値、
となってない標準コマンドってあります?
ほとんど上記パターンに則ってると思うんだけど。
92:名無し~3.EXE
06/08/05 02:53:21 inmltxCg
>91
CHOICEコマンド
93:名無し~3.EXE
06/08/08 10:05:21 iso+Sl68
>>91
ping
94:名無し~3.EXE
06/08/13 08:36:26 GfGxOKgQ
コマンドラインで、引数を元にテキストファイルを作成する事って出来ますでしょうか?
何がしたいかといいますと、beckyというメールソフトを使ってるのですが、
フィルタリングマネージャなどで条件により、プログラムの起動。
そのプログラムに引数として、メール本文を投げ、処理を行ったあと、
結果をテキストファイルとして出力したいんです。
どなたか詳しい方いらっしゃいますでしょうか?
95:名無し~3.EXE
06/08/13 09:27:06 albh57vU
beckyって使ってないから分からんけど、バッチファイル中では
引数は%1 %2 %3 ...で参照できるよ。
hoge.bat中に、
その処理させたいプログラム名 %1 > %2
って書けば、
hoge.bat hage.txt uge.txt
でhage.txtが処理されてuge.txtに出力される。
96:名無し~3.EXE
06/08/15 18:59:50 tB2dtgI0
一度だけ自動実行するバッチファイルを作りたいのですが、
自動実行するコマンドってあるのでしょうか?
97:名無し~3.EXE
06/08/15 19:25:23 UN+U0IeJ
タスクに登録するとか
スタートアップで起動してBATの最後にリンクを削除するようにするとか
レジストリの runonce に登録するとか
試した?
98:96
06/08/15 19:46:01 tB2dtgI0
>>97
自動実行って、そういうコマンドがあるんじゃなくって、
タスクに登録するなりして実現するものなんですね。
恥ずかしながら、コマンド一つで出来るものかと思っておりました。
ありがとうございました。
99:名無し~3.EXE
06/08/15 19:51:42 UN+U0IeJ
タスクに登録するコマンドならあるけど?
100:名無し~3.EXE
06/08/15 22:40:06 rx3Cek+f
初心者な質問すみません。
コマンドプロンプト上で
AフォルダとBフォルダの中身を比較して(下層フォルダ含む)
AフォルダにあるものをBフォルダから削除するには
どうすればよいでしょうか?
出来ればMD5などのハッシュ比較も行いたいです。
あと、ハングル名などのunicodeでもこれは可能でしょうか?
101:名無し~3.EXE
06/08/15 22:48:55 tPpDxHgb
robocopyでいくつかのスイッチ組み合わせれば近いこと出来るかも。
ハッシュ比較は無理だけど。
102:名無し~3.EXE
06/08/15 22:54:14 rx3Cek+f
>>101
スタートフォルダは普通に英数なんですけど
下層フォルダとファイル名がハングルなのですが
その場合でも出来そうですか?
サイズ比較くらいでも無理ですかね?
103:名無し~3.EXE
06/08/15 23:02:27 UN+U0IeJ
取り合えず、そうあたりで、
ファイルサイス一致するかどうか、次にバイナリ一致するかどうか
で試してみれば?
コンペアさせる順序をファイルサイズでソートすれば
ファイル数がそれほど多くなければ十分実用になると思う
104:名無し~3.EXE
06/08/15 23:04:52 rx3Cek+f
>>103
ファイル数が少なくて数十
多くて数千・・・危険?
105:名無し~3.EXE
06/08/15 23:15:37 5SvS0Mip
>>100
スクリプト(このスレ的にはコンソールスクリプトかな)でやる方がいいね。
それとハッシュでの比較ってのは、既にどちらかのハッシュが算出してある場合以外は無意味。
何故かというと、通常のバイナリ比較だと
Aのバイナリを読み込み→Bのバイナリを読み込み→バイナリ比較
という流れだが、ハッシュ比較だと、ハッシュというのはバイナリ全体から算出するものなので
Aのバイナリを読み込み→Aのハッシュを算出→Bのバイナリを読み込み→Bのハッシュを算出→ハッシュ比較
と手間が増える上に、ハッシュというのは別バイナリで同一ハッシュになる可能性もあるから
信頼性は下がるという悪いこと尽くめの方法。
>>104
数千くらいなら全然問題ないでしょ。
20億越えると危険だけど。
まあ、数が多けりゃそれだけ時間は掛かるが
処理時間はファイル数よりファイルサイズ一致数に影響される。
106:名無し~3.EXE
06/08/16 00:16:10 ctOK82Ic
まあちょっと(かなり)面倒だろうが頑張ってくれ。
for /?
if /?
dir /?
setlocal /?
あたり。
例】
ファイルサイズ for /f "delims=" %I in ('dir /a-d /s /b d:\foo') do echo "%~fI" は %~zI バイト
バイナリ比較 fc /b file1 file2>NUL if not errorlevel 1
107:名無し~3.EXE
06/08/16 00:55:02 TUJADtxE
ありがとう御座いますですよー。
初心者なりに頑張ってみます。
108:名無し~3.EXE
06/08/16 15:17:04 z35aAI0X
今HDDが死に掛けであわててバックアップとってるところですが
xcopyのコマンドでコピー先に既にあるファイルはコピーしない とするにはどうしたらいいでしょうか?
109:名無し~3.EXE
06/08/16 15:18:59 9Oj2H2Nx
>>108
/I
110:名無し~3.EXE
06/08/16 15:21:11 9Oj2H2Nx
>>109
!あ、うそ
/Uの反対だな
111:名無し~3.EXE
06/08/16 17:57:50 q2ajl0ca
robocopyは便利だよ
112:名無し~3.EXE
06/08/16 21:39:21 9gYsTFoa
Windowsのバッチファイル(.bat)で、単に第1引数、第2引数… のようなかたちではなく、
「-x」や「-x <パラメータ値>」のような形でパラメータを
渡して利用者が使いやすいような仕組みにしてあげたいとおもうのですが、
それをサポートしてくれる便利なツールなどはありますでしょうか?
(UNIXでいうgetoptsないしgetoptみたいなもの)
113:名無し~3.EXE
06/08/16 23:40:15 WP4Sa4y5
外部ツール使うぐらいなら自分でなんとか解析するのじゃ。
shift とか for (%*) とか使えば何とかなるのじゃ。
114:名無し~3.EXE
06/08/16 23:43:13 FN2GT4dW
>>108
/dかな。
指が覚えてるフォルダ丸ごと差分コピー。漏れが一番よく使う使い方。
xcopy /deciqhrkoxy コピー元フォルダ コピー先フォルダ
115:名無し~3.EXE
06/08/16 23:44:00 FN2GT4dW
>>112
便利なツールは知らないけど、forで無理矢理作ってみた。
スイッチと値をひとかたまりで扱うため「-A:値」のようにコロンで繋げる書式にしちゃったけど。
@echo off
setlocal
set ParmA=
set ParmB=
set ParmC=
set ParmD=
:parmset
for /f "tokens=1* delims=:" %%i in ('echo %1') do (
if "%ParmA%"=="" echo %%i|find /i "-A">nul&&set ParmA=%%j
if "%ParmB%"=="" echo %%i|find /i "-B">nul&&set ParmB=%%j
if "%ParmC%"=="" echo %%i|find /i "-C">nul&&set ParmC=%%j
if "%ParmD%"=="" echo %%i|find /i "-D">nul&&set ParmD=%%j
)
shift
if not "%1"=="" goto :parmset
if not "%ParmA%"=="" (echo スイッチ -A で指定された値は %ParmA% です。) else (echo スイッチ -A は指定されていません。)
if not "%ParmB%"=="" (echo スイッチ -B で指定された値は %ParmB% です。) else (echo スイッチ -B は指定されていません。)
if not "%ParmC%"=="" (echo スイッチ -C で指定された値は %ParmC% です。) else (echo スイッチ -C は指定されていません。)
if not "%ParmD%"=="" (echo スイッチ -D で指定された値は %ParmD% です。) else (echo スイッチ -D は指定されていません。)
endlocal
116:名無し~3.EXE
06/08/17 00:54:14 W+Pk0QLm
>>114
ありがとうございます!上手くいきました!
117:名無し~3.EXE
06/08/17 12:52:33 ukr3w+FO
>>115
ありがとうございます!findと暗黙的ループ変数を組み合わせて使うことはおもいつきませんでした。
大変たすかりました
118:名無し~3.EXE
06/08/19 15:35:36 5KecWynB
引数1個も無しでも動くように直したyp
@echo off
setlocal
set ParmA=
set ParmB=
set ParmC=
set ParmD=
:parmset
if "%1"=="" goto :parmsetend
for /f "tokens=1* delims=:" %%i in ('echo %1') do (
if "%ParmA%"=="" echo %%i|find /i "-A">nul&&set ParmA=%%j
if "%ParmB%"=="" echo %%i|find /i "-B">nul&&set ParmB=%%j
if "%ParmC%"=="" echo %%i|find /i "-C">nul&&set ParmC=%%j
if "%ParmD%"=="" echo %%i|find /i "-D">nul&&set ParmD=%%j
)
shift
goto :parmset
:parmsetend
if not "%ParmA%"=="" (echo スイッチ -A で指定された値は %ParmA% です。) else (echo スイッチ -A は指定されていません。)
if not "%ParmB%"=="" (echo スイッチ -B で指定された値は %ParmB% です。) else (echo スイッチ -B は指定されていません。)
if not "%ParmC%"=="" (echo スイッチ -C で指定された値は %ParmC% です。) else (echo スイッチ -C は指定されていません。)
if not "%ParmD%"=="" (echo スイッチ -D で指定された値は %ParmD% です。) else (echo スイッチ -D は指定されていません。)
endlocal
119:名無し~3.EXE
06/08/19 20:26:04 XQgYyCo4
斜め横からすみません
この前から見てますが↑これと>>115はどうやって使うんですか?
BATファイルにして動かしても、、、、何ですが、、、、
120:名無し~3.EXE
06/08/19 20:57:14 A+Jwn71h
>>119
>>112
121:名無し~3.EXE
06/08/19 20:58:14 KhGo//4y
%%jを%%iにしてみたら?
122:名無し~3.EXE
06/08/19 21:01:27 KhGo//4y
すまん。
BATの内容読んだら、パラメタには、
-A:xxxx -B:yyyy
というようにコロンで区切って値を渡すようになってたよ。
123:名無し~3.EXE
06/08/19 21:08:22 VuqHKvs3
わからなきゃ使わなければいいのに
124:名無し~3.EXE
06/08/19 21:24:53 g4LMndok
他人が使ってるのを見たら使いたくなるだろうが
使いたくなる人が増えたら作者も作ったかいがあるというものだ
だれか親切な人使い方教えてくれ
125:名無し~3.EXE
06/08/19 21:36:25 5KecWynB
1. >>118の「@echo off」から「endlocal」の行を選択してメモ帳に貼り付け。
2. 各行の末尾に空白文字(半角スペース)が入ってたら消す。
3. 「hoge.bat」でファイル名を付けて保存。
4. コマンドプロンプトで、
hoge.bat -A:apple -B:bag -C:cat -D:dog
とか打ってみる。
5. 下の表示が出たら成功。
スイッチ -A で指定された値は apple です。
スイッチ -B で指定された値は bag です。
スイッチ -C で指定された値は cat です。
スイッチ -D で指定された値は dog です。
5. 引数いろいろ変えてテストしてみてクレ。
126:名無し~3.EXE
06/08/19 21:39:14 5KecWynB
あ5がふたつだorz
127:名無し~3.EXE
06/08/23 21:21:56 ObYRfIur
exeファイルをログインしているユーザとは
別のユーザで実行したいんですけどできます?
OSはxpです。
start コマンドでexeファイルは起動できるのですが、
別ユーザ権限で実行したいのです。
exeファイルを右クリックしてメニューに出てくる「別のユーザで実行する」のを
コマンドでできますでしょうか?
128:名無し~3.EXE
06/08/23 21:31:04 7V6omiO2
るなs
129:名無し~3.EXE
06/08/23 22:01:29 ZGTuPVlE
>>127
runas /?
130:名無し~3.EXE
06/08/26 09:41:20 U3mxe7Fy
バッチファイルの実行中に指定秒数一時停止させる方法は有りますでしょうか?
pauseだと人が押さないとアレなんで…
131:名無し~3.EXE
06/08/26 09:56:58 WC4q3ZS6
sleep.exeをどこかから入手するか(例: URLリンク(www.vector.co.jp) )
作る(例 スレリンク(tech板:39番) )
132:名無し~3.EXE
06/08/26 10:27:49 FeFrpd2p
これはこれでアレな方法
@echo off
echo 約5秒待ちます...
start /min /wait mshta.exe "javascript:void(setTimeout('window.close()', 5000))"
echo ok
133:名無し~3.EXE
06/08/26 10:28:53 wQZ6u8Br
' sleep.vbs
' C> cscript //nologo sleep.vbs 5
Set args = WScript.Arguments
if args.Count = 1 then WScript.Sleep args.Item(0) * 1000
134:名無し~3.EXE
06/08/26 10:34:49 U3mxe7Fy
>>131,132
出来ました!
ありがとうございますm(_ _)m
135:名無し~3.EXE
06/08/26 10:35:25 FeFrpd2p
次の1行を記述したファイル sleep.js :
try{WScript.Sleep(1000*WScript.Arguments(0));}catch(e){}
を作って,バッチファイル中に
cscript //b sleep.js 10
のように書けば10秒sleep。
136:135
06/08/26 10:36:18 FeFrpd2p
似たようなのが>>133にあったか
137:名無し~3.EXE
06/08/26 10:45:38 U3mxe7Fy
>> 134,135
ありがとうございます、そちらも試してみます。
138:名無し~3.EXE
06/08/26 12:57:25 LVNArOwt
ping 127.0.0.1 -n 10>nul
139:名無し~3.EXE
06/08/26 13:11:55 9gQtyg25
>>138に一票
140:名無し~3.EXE
06/08/26 21:13:02 wQZ6u8Br
細かいことだが>>138だと「約9秒間待つ」処理になる。
まあ、バッチファイルにそれほど細かい精度を要求する人はいないと思うが…
141:名無し~3.EXE
06/08/26 21:29:02 WC4q3ZS6
じゃあ
ping 0 -n 11 > nul
で
142:名無し~3.EXE
06/08/26 22:35:39 QOJ05dBw
ワロタ
なごんだ
感心した
143:名無し~3.EXE
06/08/27 15:35:30 T5Kq+UaQ
テキストファイルの最初の数行を抜き取って上書きしようとして
more +!nl! hoge.txt>hoge.txt
とするとテキストが空になってしまうのですが、一度別のファイルに書き出してからじゃないと上書きは無理ですか?
144:名無し~3.EXE
06/08/27 15:37:54 T5Kq+UaQ
すいません>>143の行の前に
setlocal enabledelayedexpansion
set /p n=
です
145:名無し~3.EXE
06/08/27 19:42:41 UeDkqXpA
入出力のファイルオープンを同じファイルにするのは無理だって。
これはどのソフトでも同じ。
他ソフトを見習って、一旦作業ファイルに出力した後、
入力ファイル削除、出力ファイルをリネームしろ。
146:143
06/08/27 23:10:18 DuGHZ1Jx
>>145
やはりそうですか、ありがとうございました。
147:名無し~3.EXE
06/08/28 02:44:43 tGN/v/7N
テキストエディタなんか一見対象ファイルを編集してるようだが
実際は作業ファイルを別に作成したりしてるわけで保存時に
そのファイルを移動したりしてる。
元のファイルはその前に削除したりバックアック名にリネームしたりしてて。
148:名無し~3.EXE
06/08/29 12:00:53 meFFkd6M
バッチファイルでコンピュータ名を変更したいのですが可能でしょうか?
OSはWindows XP Proです。
149:名無し~3.EXE
06/09/05 01:30:08 J1YU4f6y
URLリンク(hp.vector.co.jp)
↑このソフトに関するバッチファイルの記述をどなたか解説していただけないでしょうか
お願いします
150:名無し~3.EXE
06/09/05 02:03:44 so+Ty3eJ
>>149
[このソフトのパス]wisteria <設定ファイル> <画像ファイル...>
例:
c:\resizer\wisteria.exe "c:\resizer\custom.ini" "c:\a.jpg" "c:\b.jpg" "c:\c.jpg"
Helpくらい嫁。
151:名無し~3.EXE
06/09/05 02:17:29 J1YU4f6y
>>150
すいません
その通り記述して作ったんですがショートカットをSendToに入れて使えないんです
152:名無し~3.EXE
06/09/05 02:18:00 fKR1uigz
嫁じゃなく読めだった
153:名無し~3.EXE
06/09/05 02:37:33 f0JURZ4F
注意
実行ファイル(及びショートカット)ではなく、起動したウインドウへ D&D してください
って書いてあるじゃん
154:名無し~3.EXE
06/09/05 02:39:32 J1YU4f6y
>>153
いえそれがバッチファイルでのバックグラウンド動作ができるらしいんですが…
155:名無し~3.EXE
06/09/05 02:51:07 J1YU4f6y
すいませんバッチファイルのショートカットをSendToに入れると実行できました
ViXからのSendTo内バッチファイル実行が不可能なようですお騒がせしましたすいません
156:名無し~3.EXE
06/09/05 02:56:37 lhq1jDgQ
Win95なら別だが、ショートカットだけでbatいらないんじゃね?
157:名無し~3.EXE
06/09/05 03:24:58 J1YU4f6y
>>156
ショートカットだと>>153の方が言っておられますように
ウィンドウへD&Dが必要なんです
バッチファイルを使用するとそのD&Dの手間が省けるので楽です
158:名無し~3.EXE
06/09/05 03:37:42 lhq1jDgQ
>>157
なぜできないのか理解できないので実際に試してみたが、普通にできたぞ。
ViXは知らんが。
159:名無し~3.EXE
06/09/05 03:56:26 J1YU4f6y
>>158
エクスプローラーの送るメニューからは可能なようです
ViXのバグか何かだと思いますお手数おかけしてすいません
160:名無し~3.EXE
06/09/06 20:21:28 37Qi347M
↓の意味がよく輪からないんですけどどうすればいいんですか?
msdosで起動するソフトなんですが????です。
% mecab ファイルパス -o 別のファイルパス って入力すればいいんじゃないんですか?
スレリンク(english板:918番)
引数にファイルを与えると, そのファイルが解析対象となります. また, -o オプションにて, 別のファイルに結果を出力することも可能です.
% mecab INPUT -o OUTPUT
161:名無し~3.EXE
06/09/06 20:22:10 37Qi347M
↑誤爆です
162:名無し~3.EXE
06/09/08 10:02:24 QU5REhu+
>160
誤爆なのか。確かにスレ違いだが
完全に外してるワケでもない微妙な誤爆だなw
例えば解析したいファイルの名前が「aaaaaaa」で
その結果を「bbbbbbbb」に保存したいなら
コマンドプロンプト開いて
mecab aaaaaaaa -o bbbbbbbb
って打ってエンター、な。
163:名無し~3.EXE
06/09/09 02:02:28 l7Z6gnOX
>>157
作者です(w
ショートカットでいけますよ.
ショートカットのプロパティのリンク先をこんな感じにします.
"D:\release\resizer\wisteria.exe" "D:\release\resizer\pattern01.ini"
164:名無し~3.EXE
06/09/09 02:09:44 mRjJ9uKf
作者は来るなよバカ
165:名無し~3.EXE
06/09/09 02:29:17 9IbISJaR
(・∀・)カエレ!!!(・∀・)カエレ!!!(・∀・)カエレ!!!
166:名無し~3.EXE
06/09/09 03:45:44 B/z4vq7U
>>163
起動するだけで終わり
その後D&Dしないといけない
167:名無し~3.EXE
06/09/09 04:59:48 b6RM+FdO
XP にて、bat ファイルを使って、環境変数をシステムに通知する
方法ってありますでしょうか。
たとえば、
reg add HKEY_CURRENT_USER\Environment /v ENVNAME /d ENVVALUE
で環境変数に値を追加した後に、この変更をOS再起動なしに有効にしたい
場合、どのようにしたらよいでしょうか。
ここを読むと、
URLリンク(support.microsoft.com)
SendMessageTimeout(HWND_BROADCAST, WM_SETTINGCHANGE, 0,
(LPARAM) "Environment", SMTO_ABORTIFHUNG,
5000, &dwReturnValue);
でできるようなのですが、なるべく余分なプログラムなしでやりたい
ので、できれば、DOSコマンド、無理ならWSHあたりでどうにかする
方法をごぞんじないでしょうか?
168:名無し~3.EXE
06/09/09 05:26:27 9IbISJaR
rundll32 でできたらいいね
169:名無し~3.EXE
06/09/09 11:47:46 C5Wo58dx
XPのコマンドプロンプトより、自動起動の設定をします。
at 8:45 /interactive /every:M,T,W,Th,F "C:\UWSC.exe"
とすると、
URLリンク(2ch-dc-ita.gotdns.com)
のように利用できないネットワークを参照してしまいます。
普通にUWSCを起動すると、C:\uwsc31b のフォルダの参照がデフォルトです。
このエラーの回避方法が分からず悩んでいます。
どなたかアドバイスを宜しくお願いいたします。
170:169
06/09/09 12:06:00 C5Wo58dx
すみません。
↑の画像、うまく見えないみたいなので、他の箇所にアップロードしました。
宜しくお願い致します。
URLリンク(upload.fam.cx)
171:名無し~3.EXE
06/09/09 13:30:16 A+UCQsHR
[タスク]の[詳細設定] メニューの [AT サービスのアカウント]
172:名無し~3.EXE
06/09/09 13:50:11 C5Wo58dx
>>171
レスありがとうございます!
タスクとはどこから開けますか?
173:172
06/09/09 14:00:51 C5Wo58dx
>>171
わかりました。ありがとうございます。
174:名無し~3.EXE
06/09/09 14:01:01 9IbISJaR
control
175:167
06/09/09 16:38:46 b6RM+FdO
>168
ためしに、
rundll32 user32.dll,SendMessageA 65535 26 0 0
とやってみましたが反映させませんでした。rundll32 では呼び出せないのかな。
うーん、なんとかならんですかねえ。
176:名無し~3.EXE
06/09/09 17:38:34 8eEUOKMl
>>175
「Windows XP Service Pack 2 サポート ツール」や「Windows 2000 Resource Kit」などから
setx.exeを拾ってくれば?
177:名無し~3.EXE
06/09/09 17:50:25 QgusI8od
98SEのDOSプロンプトで、あるプログラム(.exe)を実行する際、画面スクロール
が出来ないため見づらく困っています。
全体を表示させるにはどうしたらいいでしょうか?
尚、XP-Proも持っていますが、このDOSで実行すると、プログラムが閉ループ
に入るため使っていません。
178:名無し~3.EXE
06/09/09 17:57:20 /swEvRPS
NYADOSとかck (for Win9x)ではだめかな
使ったこと無いけど
179:名無し~3.EXE
06/09/09 20:48:35 C5Wo58dx
コマンドプロンプトのバッチファイルで、a.exeとb.exeの間に5秒余裕を入れたいです。
以下のようにsleep コマンドだと思うのですがうまくいきません。
どなたかアドバイスお願いいたします。
start "" /MAX "C:\自動起動\a.exe"
sleep 5
start "" "C:\自動起動\b.exe
180:名無し~3.EXE
06/09/09 21:00:31 lO4MfV+7
>>179
最初のstartには /WAIT オプションが必要でしょう。
あとは
>>131-141
を参照。
181:180
06/09/09 21:04:03 lO4MfV+7
a.exeが完了してから5秒待つわけでなければ
「/WAIT オプションが必要」は撤回します。
182:名無し~3.EXE
06/09/09 21:14:52 C5Wo58dx
>>180
どーもでした!!
183:名無し~3.EXE
06/09/09 21:32:44 C5Wo58dx
作成したバッチファイルをクリックして実行すると間に5秒入るのですが、
タスクから自動実行すると実行は時刻どおりにしますが
5秒の間隔は無視されてしまいます。
しかもa.exeは非アクティブになります。
何か間違っていることがあればご指摘お願いします。
バッチファイル
start "" /MAX /WAIT C:\a.exe
cscript //b sleep.js 5
start "" /WAIT "C:\b.exe
184:名無し~3.EXE
06/09/09 21:36:39 m9zXbjkI
これはどお?
↓
timeout /t 5
185:177
06/09/09 21:44:15 Ya9BvK8X
>>178
さんきゅうです。NYADOSを試しましたが駄目でした。ck (for Win9x)は
PCの調整が必要なため、未だ試していません。ところで
URLリンク(flex.ee.uec.ac.jp)
の C-x [ 前のページとの区切りにポイントを移動します は、この
場合のスクロールに相当するものでしょうか?
ググりましたが、キーバインドでのキー操作が分かりません
186:183
06/09/09 21:46:09 C5Wo58dx
>>184
一段目の下に入れてみましたが、同じでした・・・
187:名無し~3.EXE
06/09/09 21:47:30 lO4MfV+7
バッチでなくてJScriptにして
cscript //b runAandB.js
で実行してみるとか。
// runAandB.js
var WshShell = new ActiveXObject("WScript.Shell");
WshShell.Run("C:\\a.exe", 3, true); // 3: ウィンドウをアクティブにし最大化
// true: プログラムの実行が終了するまでスクリプトを待機させる
WScript.Sleep(5000);
WshShell.Run("C:\\b.exe");
188:名無し~3.EXE
06/09/09 22:03:05 C5Wo58dx
>>187
やってみます!ありがとうございます。
189:名無し~3.EXE
06/09/09 22:50:48 ePVGTDAY
>>185
win95cmd
Wineのcmd
190:名無し~3.EXE
06/09/14 07:47:45 l5s6sQsr
&&を使って2つのファイルを実行させたいのですが、"CommandA && CommandB"
の通りやると
"C:\Program Files\test\test.vbs && C:\Program Files\test\test2.vbs"
となってエラーが出てしまいます。
初歩の初歩とは思いますが、こうしたコマンド中にスペースがある場合のコマ
ンド連結の方法を教えてください。すいませんが、お願いします。
191:名無し~3.EXE
06/09/14 08:24:56 SDPKJdUF
>>190
× "CommandA && CommandB"
○ "CommandA" && "CommandB"
192:名無し~3.EXE
06/09/14 08:40:57 l5s6sQsr
>>191
ありがとうございます。すいません、実はこのコマンドをATコマンドを使って
スケジューラーに登録したいのです。それで
ATコマンド cmd /c "CommandA" && "CommandB"
とやるとCommandAはスケジューラーに登録されるのですが、CommandBは
ATコマンド実行時に同時に実行されてしまうのです。
二度手間になってしまって申し訳ありませんが、もし"CommandA" && "Com
mandB"をスケジューラーに登録できる方法をご存知でしたらご教授ください。
193:192
06/09/14 11:08:58 l5s6sQsr
すいません、自己解決しました。
cmd /c atコマンド cmd /c "CommandA" && "CommandB"
と/cスイッチを2重に掛けてしまったのが悪かったようで
atコマンド cmd /c "CommandA" && "CommandB"
とすることできちんとスケジューラーに登録されました。
194:名無し~3.EXE
06/09/18 13:06:40 5c+M8uRH
コントロールパネル > 地域と言語のオプション > 詳細設定
> Unicode 対応でないプログラムの言語
を英語(米国)に一発変換するコマンドを教えてください。賢い人お願い。
195:名無し~3.EXE
06/09/19 02:50:37 xYqALZ2K
ローカルネットワークで使うファイル共有機器を使っているのですが
恐らく破損が原因で一部のファイルが削除できなくなってしまいました。
UNCを使ってChkdskをかけようとすると、できませんでした。
その外部機器は共有専用の物でそれ自体にログインすることはできません。
操作元のPCはWindowsXPです。
何か良いファイルの削除方法はありませんか?
196:名無し~3.EXE
06/09/19 02:53:40 PvS6FX5U
フォーマットぐらいできるんじゃね?
197:名無し~3.EXE
06/09/19 12:59:10 JsGdWB5o
アフォウ
198:名無し~3.EXE
06/09/19 23:28:59 2GQBIaKq
chkdskもformatもローカルのドライブしかやってくれないよ。
199:名無し~3.EXE
06/09/20 02:28:12 WXXCtHSF
3年半前の誰かに「ありがとう」。
----------------------------------------------------------
初心者必読!最低限知っておくべきDOSコマンド 2
スレリンク(win板:660番)
660 名前:名無し~3.EXE[sage] 投稿日:03/04/02 20:56 ID:MJorWg4J
>>658
shift というコマンドがある。
@echo off
:loop
if '%1'=='' goto end
attrib %1 /d /s -h -s
attrib %1 /d /s +h +s
shift
goto loop
:end
---------------------------------------------------------
これを応用させてもらって
@echo off
:loop
if '%1'=='' goto end
C:\Soft\ffmpeg\ffmpeg -i %1 -ab 128 "%~dp1%~n1.mp3"
shift
goto loop
:end
200:名無し~3.EXE
06/09/21 07:08:39 mJ5ybNlv
>>196-198
やっぱり直接ログインできないと難しそうですか…。(´д`)
201:名無し~3.EXE
06/09/21 09:41:25 iuEaw+TT
a&b.exe っていうのがあって(そういう危険なファイル名をつけるのが問題なんだが、それは諦めるとして)
これをVBScirptから起動して、その標準エラー出力を捕獲したいんですが
Set objShell = WScript.CreateObject("WScript.Shell")
scmd = "cmd /c a&b.exe 2> out.txt"
WScript.echo scmd
objShell.Run scmd
とすると、cmd.exeの機能として、
a&bの部分を a , b.exe と分解してしまいます。
リダイレクトしなければ scmd="a&b.exe" で済むのですが。
cmd.exeに、&を特殊文字じゃなく、ファイル名の一部だと認識させるにはどうすればいいでしょうか?
202:名無し~3.EXE
06/09/21 11:23:18 qC8l8Y5k
scmd = "cmd /c a^&b.exe 2> out.txt"
203:名無し~3.EXE
06/09/21 12:17:14 ZaRXWuea
>>202
さんくすです。
204:名無し~3.EXE
06/09/21 17:26:59 v01n1OiK
telnet hogehoge.com 80
で接続後
HEAD / HTTP/1.0
Host: hogehoge.com
でURLリンク(hogehoge.com)<)
のように階層とファイルを指定する場合、どのように打てばよいのでしょうか?
205:名無し~3.EXE
06/09/21 18:37:34 U4TS2RPc
cmd と関係ないじゃん
HEAD /saitama/saitama.html HTTP/1.0
Host: hogehoge.com
206:名無し~3.EXE
06/09/21 21:36:02 v01n1OiK
>>205
㌧クス
207:名無し~3.EXE
06/09/25 03:56:34 zcUKP0FD
WEB上にあるファイルと、ローカルにあるファイルのMD5とかを参照比較して、違ってたら何かメッセージ出したり、起動したりDLしたりって事、出来ませんか?
208:名無し~3.EXE
06/09/25 18:30:42 3OvFGSR9
「コマンドライン」ってほとんどのWindowsアプリを起動できるから
「出来ません」とは答えられないよね。
209:名無し~3.EXE
06/09/25 18:33:33 PAABQqCC
ダウンロードする前にmd5の計算が出来ればね。
210:名無し~3.EXE
06/09/27 00:52:25 sv2UodKP
ascii文字列の比較をしたいです。UNIXの "comm"コマンドのような
ものを探しているのですが、compやfcではいまひとつです。
211:名無し~3.EXE
06/09/27 00:56:39 sv2UodKP
連投すみません。イメージとしてはこれです↓
URLリンク(www.atmarkit.co.jp)
212:名無し~3.EXE
06/09/27 01:23:02 9XHxAPx1
URLリンク(www.ossh.com)
213:名無し~3.EXE
06/09/27 01:32:17 sv2UodKP
>>212
お~、ありがとうございます。ついでにsortとuniqももらってやりたいこと
ができましたー
214:名無し~3.EXE
06/10/03 02:29:36 NfBnO3Xp
wmeのinputsourceのところをbatファイルで書き換えて
自動エンコード開始をしたいのですが書き換えコマンド教えてください。
最初はチョコアで書き換えてbat起動させて自動エンコード開始させようと思ったのですが
チョコアでwmeのファイルを書き換えることができないのを知ってbatで書き換えて自動起動をしようと考えています。
215:名無し~3.EXE
06/10/03 16:01:40 1+YRdBks
xcopy C:\甲 D:\乙\甲 /d/e/i/q/h/r/y
これを一度実行して、甲の中の丙.txtを削除。再度xcopy実行。D:\乙\甲の中に丙.txt が残ってる。
丙.txtは削除して欲しいんだが、xcopyだけで解決するにはどうすればいい?できればrdは使いたくないな。
216:名無し~3.EXE
06/10/03 16:09:35 1+YRdBks
自分で読んでも、わかりにくい文になった。すまそ。
送り側で削除されたファイルを、受け側に残したくないっていう意味です。
さらに、受け側の容量がデカイので、rd xcopy でやると時間が掛かりすぎて困るっていう意味です。
217:名無し~3.EXE
06/10/03 17:21:43 bakKShfe
そういうのはもうそういった同期ソフトを使うべきでは
218:名無し~3.EXE
06/10/03 20:16:14 MLlCxdLB
xcopyじゃできません。
robocopyなら/PURGEスイッチ使えば尾k
219:名無し~3.EXE
06/10/04 22:12:37 oVbBf3W/
一瞬/PUGERAスイッチに見えた
220:名無し~3.EXE
06/10/05 00:23:32 qgLmfY2v
同期ならFileFileCopyを使えばいい
それか>>218
221:名無し~3.EXE
06/10/05 00:30:39 MCb5nvF1
漏れも昔はファイルファイルコピーと空目してたからあまり大きなことは言えないが
ファイアファイルコピーだぞ
222:名無し~3.EXE
06/10/05 19:45:16 tjGrDL9G
ファイルファイルコピー吹いたwwwwwwwwww
223:名無し~3.EXE
06/10/05 21:19:10 saVGMH9k
本当だ!wwww
紹介元にFileFileCopyってあったからそのまま鵜呑みにしてたよ。
2年くらいずっとそうだと思って疑わなかった。
そいじゃFileFileCopyって類似ソフト作っちゃおうかな。
RDとXCOPYだけのどうしようもないヤツ。
224:名無し~3.EXE
06/10/05 21:36:35 WbWfkADc
以下のようなバッチファイルを作ったのですが、
思ったような結果になりません。
やりたいことはバッチファイルを置いたディレクトリの配下に
「CVS」というディレクトリがあったら消すということをしたいのですが。
どこが間違ってるでしょうか?
@echo off
cd %CD%
for /r /d %%i in (*) do (
if "%%~ni" == "CVS" (
rd %%i /q/s
)
)
pause
225:名無し~3.EXE
06/10/05 21:41:45 WbWfkADc
自己解決しました。
@echo off
cd %CD%
for /r /d %%i in (*) do (
if "%%~ni" == "CVS" (
rd "%%i" /q/s
)
)
pause
226:名無し~3.EXE
06/10/05 21:41:50 wT80tbne
echo onして見てみれば分かる。
ちなみにやりたいことって
@rmdir /s /q %~dp0CVS
でいいんじゃね?
227:名無し~3.EXE
06/10/09 14:13:20 1VStL+z8
コマンドラインからZIP圧縮は可能なのでしょうか?
できれば圧縮率も指定できるといいのですが
228:名無し~3.EXE
06/10/09 14:15:11 ZgyN8vMw
cd c:/ じゃね?
229:名無し~3.EXE
06/10/09 15:54:46 8A81Nzzr
>>227
コマンドライン型の圧縮率指定可能な圧縮ツール使えば可能。
因みにコマンドラインツールを使いたくないとかいう情報後出しは却下。
ツールが見つからなければ、ソフ板のありますかスレへどうぞ。
230:名無し~3.EXE
06/10/09 18:04:20 HzNhAxQB
fsutil hardlinkで、ファイルのハードリンクを作成できるようですが、
あるファイルについて、ハードリンクがいくつ張られているのか
知る方法はありますか?
231:名無し~3.EXE
06/10/09 18:37:36 oNSZ8baq
ntfs utils
232:名無し~3.EXE
06/10/10 23:00:37 aZsZyqrX
俺用メモ
URLリンク(www.microsoft.com)
233:名無し~3.EXE
06/10/11 00:27:46 YmyvbGZx
すいません、ものすごく既出な質問だと思うのですが、
プログラムA実行完了後、プログラムBを実行する場合、
programA.exe && programB.exe
でいいんですか?それとも何か良い方法があるんでしょうか?
234:名無し~3.EXE
06/10/11 00:39:04 b7WovQg3
>>233
programA && programB
programAが正常に終了した場合のみprogramBを実行する
programA & programB
programAが実行された後、programBを実行する
235:名無し~3.EXE
06/10/11 00:42:23 YmyvbGZx
>>234
即効の回答ありがとうございました。
236:名無し~3.EXE
06/10/11 01:07:55 EuLbjpXz
無理に一行に書く必要もなかろう
programA & programB
は
programA
programB
と同意
あと結果に応じての処理なら
programA && programB
が
programA
if not errorlevel 1 programB
と同意
まあ君の分かりやすいように書いとけば?
なお結果が異常な場合には、programA || programB|
実行するために
start /wait programA
って書くこともできる。
237:名無し~3.EXE
06/10/11 14:56:10 IOmcdCd9
バッチ処理を続けると勝手に終わっちゃうよ(ノД`)
なんで?バッチの中からcallで沢山ある他のバッチを次々に読み込んでいくんだけど
構文や処理内容にエラーがないことは半年かけて確認したよ。
1次バッチ→call2次バッチ→call3次バッチ(複数)
→call2次バッチ→call3次バッチ(複数)
こんな感じで次々にバッチ処理をするんだ。2次バッチは100個ほどで、3次はそれぞれ15個
バッチって処理限界あるの?
仕事場のPCでは最後まで走るのに自宅のPCとか他部署のPCでは途中で処理をやめちゃうよ
OS/WinXpPro Version2002 SP1
CPU/PenD920 RAM2.0GB
HDD/300GB
MB/Intel D945GNT こんな環境です。
238:名無し~3.EXE
06/10/11 20:18:46 Pq9of3Uw
BATに間違いないなら、メモリーリークとかあるのかもね。
一応環境変数のワークサイズはXPの場合8192バイトだったかな。(2000だと2048バイト)
あとはsetlocalとかcmdとかで操作してみるとか。
239:名無し~3.EXE
06/10/11 22:54:54 OyhdnErx
バッチの内容に問題あるんじゃね?
エラーが出ると、エラーが出た瞬間に窓閉じるからな。
だから見た目には途中で勝手に終わったように見える
240:名無し~3.EXE
06/10/11 23:00:55 Sa6qyVds
>2次バッチは100個ほどで、3次はそれぞれ15個
1500個も同時にプロセス動かすのって・・・すげー嫌な感じ。
漏れは絶対やりたくない。
241:名無し~3.EXE
06/10/13 11:18:06 VOTIVxE/
特定のファイルの属性を隠しファイルにしたいんですがどのようなコマンドを書けばいいですか?
よろしくお願いします
242:名無し~3.EXE
06/10/13 11:23:51 L4CHgkjE
attrib
243:名無し~3.EXE
06/10/13 11:29:51 VOTIVxE/
>>242
すいません今思い出してできました本当にすみません
ついでなのですが特定のファイルが他のプロセスに使用されている場合
そのプロセスがそのファイル使用していない状態にしてそのファイルを削除するようなコマンドはどうすればいいでしょうか
よろしくお願いします
244:名無し~3.EXE
06/10/13 12:11:11 C46/3tBp
>>243
標準コマンドには無いから、そういう事が出来るコマンドラインツールを探すか作るかして利用する。
245:名無し~3.EXE
06/10/13 12:29:46 /BVrTyQW
ファイルからオープンしてるプロセスを特定する方法ってあるんか?
Win32APIでも構わんので知ってたら教えてくれ。
246:名無し~3.EXE
06/10/13 12:33:34 VOTIVxE/
>>244
やはりファイルをUnlocker等のソフトに飛ばしてその後に削除するコマンドを使うしかないのですね
ありがとうございました試行錯誤してみます
247:名無し~3.EXE
06/10/13 13:58:39 C46/3tBp
>>245
逆。
ファイルからオープンしてるプロセスを特定するんじゃなくて
既存プロセス群が掴んでるファイル群の中から、対象に一致する物を探す。
つーか、検索ってのは普通そういうものだし。
これ以上の話は板違いなので、APIスレなり使用言語スレなりでどうぞ。
248:名無し~3.EXE
06/10/13 18:54:57 AB8vVd7f
>236
> if not errorlevel 1 programB
errorlevel はゼロか否かで判定する方が良くない?
っていうかソフトによって微妙に違うとは思うんだけど。
249:名無し~3.EXE
06/10/13 19:04:48 xVRY4L91
>>248
if の昔ながらの書式をもう一度確認した方が良いぞ。
if errorlevel 1 で 1以上の場合だ。
250:名無し~3.EXE
06/10/13 19:32:22 AB8vVd7f
>249
あらら…確かにhelpにも書いてあるわ。
俺普段 %errorlevel% しか使わんから気付かんかった。スマソ
251:名無し~3.EXE
06/10/14 01:36:11 T/OFuaaU
すいません。
ファイル名を指定して実行で、
cmd /k cd e:\temp
としても cd せずに、無指定と同じc:\dqnment~のまま窓が出ます。
出てきた窓で e: とすると e:\temp に直接移動します。
カレント指定で起動するにはどうすればいいのでしょうか。
252:名無し~3.EXE
06/10/14 01:56:20 VspRUX5O
cd /?
253:名無し~3.EXE
06/10/14 12:29:38 ibVcNeOH
>251
ちゃんと cd コマンドの詳細を見よう。
254:名無し~3.EXE
06/10/14 14:24:13 y7UvFN4Z
たとえば
サーバー:192.168.0.254
クライアント1:192.168.0.2
クライアント2:192.168.0.3
というアドレスのPCがあるとき
クライアントがどれか1台でも起動していれば = 何もしない
すべてのクライアントがシャットダウンしたら = サーバーもシャットダウンする
というのを作りたいのですが
linuxでシェルスクリプトなら
ping 192.168.0.2 -c 4
if [ $? = 0 ]
then
onoff=10
fi
ping 192.168.0.3 -c 4
if [ $? = 0 ]
then
onoff=10
fi
if [ $onoff = 10 ]
then
echo "PC ON"
else
echo "PC OFF"
halt -p
fi
で、出来るのですがDOSのバッチファイルの場合
PING 192.168.0.2 の戻り値ってどう取得すればいいのでしょうか?
255:名無し~3.EXE
06/10/14 14:34:14 QB654mo8
if /?
256:名無し~3.EXE
06/10/14 14:55:44 pw30TYg5
PING 192.168.0.2
IF ERRORLEVEL 1 ECHO つながってませんよ。
IF ERRORLEVEL 0 ECHO つながってますね。
↑
2行目と3行目を入れ替えてはいけない点に注意。
257:251
06/10/14 17:32:10 T/OFuaaU
>251-252
ありがとうございました。うまくいきました。
258:名無し~3.EXE
06/10/14 21:31:15 y7UvFN4Z
>>256
PING 192.168.1.7
IF ERRORLEVEL 1 SET DT=10
IF ERRORLEVEL 0 SET DT=0
PING 192.168.1.5
IF ERRORLEVEL 1 SET DT=10
IF ERRORLEVEL 0 SET DT=0
PING 192.168.1.6
IF ERRORLEVEL 1 SET DT=10
IF ERRORLEVEL 0 SET DT=0
IF DT=10 THEN notepad.exe
ELSE
cmd.exe
みたいにやってみてるんですが
うまくいきません。
259:256
06/10/14 22:07:32 pw30TYg5
>258
最後の3行はIF文の書き方がマズい。俺なら以下のようにする。
(Win95/98/Meの場合はCMD.EXEの代わりにCOMMAND.COM)
IF "%DT%"=="10" NOTEPAD.EXE
IF NOT "%DT%"=="10" CMD.EXE /C コマンドライン
260:256
06/10/14 22:09:24 pw30TYg5
ごめん。訂正。
IF "%DT%"=="10" NOTEPAD.EXE
IF "%DT%"=="0" CMD.EXE /C コマンドライン
261:256
06/10/14 22:16:05 pw30TYg5
NOTEPAD.EXEが終了するまでバッチファイルを終わらせたくない場合は、さらに以下のようにする。
IF "%DT%"=="10" START /W NOTEPAD.EXE
IF "%DT%"=="0" CMD.EXE /C コマンドライン
262:名無し~3.EXE
06/10/14 23:11:28 y7UvFN4Z
>>261
PING 192.168.1.7
IF ERRORLEVEL 1 SET DT=10
IF ERRORLEVEL 0 SET DT=0
PING 192.168.1.5
IF ERRORLEVEL 1 SET DT=10
IF ERRORLEVEL 0 SET DT=0
PING 192.168.1.6
IF ERRORLEVEL 1 SET DT=10
IF ERRORLEVEL 0 SET DT=0
IF "%DT%"=="10" START /W NOTEPAD.EXE
IF "%DT%"=="0" CMD.EXE /C コマンドライン
ですが、すべてのPINGが通らない状態
(つまりクライアントがすべて終了している状態)でも
IF "%DT%"=="0" CMD.EXE /C コマンドライン
のほうが動いてしまいます。
263:名無し~3.EXE
06/10/14 23:41:47 xvO2JB2X
>>259
> (Win95/98/Meの場合はCMD.EXEの代わりにCOMMAND.COM)
%COMSPEC% /C
264:名無し~3.EXE
06/10/14 23:47:10 rbbe3sPd
runasコマンドで
ノートパッドを別ユーザーとして起動したいのですが
下記のようにするとユーザ(hogehoge)のパスワードが求められます。
runas /user:hogehoge notepad
引数か何かでパスワードは指定できないのでしょうか?
265:256
06/10/15 00:14:00 bYSqBt4L
>>263
そういや環境変数COMSPECの事をすっかり忘れてた。フォローthanks.
>>262
SET DT=0
PING 192.168.1.7 >NUL
IF ERRORLEVEL 1 SET DT=10
PING 192.168.1.5 >NUL
IF ERRORLEVEL 1 SET DT=10
IF "%DT%"=="10" START /W NOTEPAD.EXE
IF "%DT%"=="0" %COMSPEC% /C コマンドライン
または
PING 192.168.1.7 >NUL
IF ERRORLEVEL 1 IF NOT ERRORLEVEL 2 SET DT=10
IF ERRORLEVEL 0 IF NOT ERRORLEVEL 1 SET DT=0
IF "%DT%"=="10" START /W NOTEPAD.EXE
IF "%DT%"=="0" %COMSPEC% /C コマンドライン
PING 192.168.1.5 >NUL
IF ERRORLEVEL 1 IF NOT ERRORLEVEL 2 SET DT=10
IF ERRORLEVEL 0 IF NOT ERRORLEVEL 1 SET DT=0
IF "%DT%"=="10" START /W NOTEPAD.EXE
IF "%DT%"=="0" %COMSPEC% /C コマンドライン
これでどうかな?一応、両方とも試してみてよ。
266:名無し~3.EXE
06/10/15 00:58:26 Blrgi1Gy
>>265
たびたびありがとうございます
両方実行してみましたが
CMD(コンソール?)が開きますが
たとえば
SET DT=0
PING 192.168.1.7 >NUL
IF ERRORLEVEL 1 SET DT=10
PING 192.168.1.5 >NUL
IF ERRORLEVEL 1 SET DT=10
IF "%DT%"=="10" START /W NOTEPAD.EXE
IF "%DT%"=="0" %COMSPEC% /C コマンドライン
の方だと
C:\>SET DT=0
C:\>PING 192.168.1.7 1>NUL
C:\>IF ERRORLEVEL 1 SET DT=10
C:\>PING 192.168.1.5 1>NUL
この後CMDが消えるという結果です。
267:名無し~3.EXE
06/10/15 01:04:07 piuQ32q3
まず、OSは何かを明らかにすべきじゃない?
win9xの場合は不明。(各コマンドの結果は殆どERRORLEVELに反映されないので)
win2000の場合、pingでエラーの場合、ERRORLEVEL=1となるが
相手が居ない場合(Request timed out)はERRORLEVEL=0となる。
で、win2000の場合
--------------------------
@echo off
set dt=0
ping PC1 | find "100%% loss"
if errorlevel 1 (set dt=10&goto :alived)
ping PC2 | find "100%% loss"
if errorlevel 1 (set dt=10&goto alived)
if %dt%==0 echo ****すべてのマシンが応答しませんでした***
:alived
--------------------------
ping -n 1 PC1の方が結果は早いが、完全には応答しない場合も考えられるので
4回試行して全部Request timed out(100% loss)を捉まえるものとしている。
268:名無し~3.EXE
06/10/15 01:07:05 Blrgi1Gy
266の続き
PING 192.168.1.7 >NUL
IF ERRORLEVEL 1 IF NOT ERRORLEVEL 2 SET DT=10
IF ERRORLEVEL 0 IF NOT ERRORLEVEL 1 SET DT=0
IF "%DT%"=="10" START /W NOTEPAD.EXE
IF "%DT%"=="0" %COMSPEC% /C コマンドライン
PING 192.168.1.5 >NUL
IF ERRORLEVEL 1 IF NOT ERRORLEVEL 2 SET DT=10
IF ERRORLEVEL 0 IF NOT ERRORLEVEL 1 SET DT=0
IF "%DT%"=="10" START /W NOTEPAD.EXE
IF "%DT%"=="0" %COMSPEC% /C コマンドライン
の結果は
C:\>PING 192.168.1.7 1>NUL
C:\>IF ERRORLEVEL 1 IF NOT ERRORLEVEL 2 SET DT=10
C:\>IF ERRORLEVEL 0 IF NOT ERRORLEVEL 1 SET DT=0
C:\>IF "10 " == "10" START /W NOTEPAD.EXE
C:\>IF "10 " == "0" C:\WINDOWS\system32\cmd.exe /C shutdown -s
C:\>PING 192.168.1.5 1>NUL
この後CMDが消えるという結果です。
よろしくお願いします。
269:名無し~3.EXE
06/10/15 01:09:11 Blrgi1Gy
>>267
そうですね、うっかりしていました。
すべてWindows2000Proです。
270:名無し~3.EXE
06/10/15 01:25:58 Blrgi1Gy
>>267
win2000の場合
--------------------------
@echo off
set dt=0
ping PC1 | find "100%% loss"
if errorlevel 1 (set dt=10&goto :alived)
ping PC2 | find "100%% loss"
if errorlevel 1 (set dt=10&goto :alived)
if %dt%==0 echo ****すべてのマシンが応答しませんでした***
:alived
で実行できました!
255,256,259-261,263,265,267
ありがとうございました!
271:256
06/10/15 02:08:15 bYSqBt4L
なるほどなぁ・・・俺は自宅でWinXP、職場でWin2000とWinNT4.0を使ってるが、
"Request timed out"の場合は3つともERRORLEVEL=1と思い込んでたよ。
それと今まで肝心な>>254の目的をすっかり失念していた。
なんだか色々混同して勘違いしてたよ。かえって混乱させちまったようで、ごめんな。
272:名無し~3.EXE
06/10/15 03:23:27 piuQ32q3
>>270
pingで端末名指定ミスしたら、常にalivedになっちゃうのでチェックした方が良いかも。
あとサーバーなら接続端末の状態や数をチェックするコマンドがあったんじゃない?
273:名無し~3.EXE
06/10/15 17:49:13 Blrgi1Gy
>>271
いいえ、そんな
いろいろ勉強になりました。
ありがとうございました。
>>272
御助言いただきありがとうございました。
274:名無し~3.EXE
06/10/17 02:10:26 N9oYajNV
質問です。
ショートカット(.lnk)を作るコマンドはありますか?
275:名無し~3.EXE
06/10/17 02:31:34 lckIqFv9
>>274
cscript.exe
276:名無し~3.EXE
06/10/17 13:24:27 z7Jjl5bf
ショートカットの作成コマンドは、8文字のソース パス フォルダ名を切り捨てます。
URLリンク(support.microsoft.com)
ショートカットの作成の 使用Windows Script Host にパラメータでの方法
URLリンク(support.microsoft.com)
クイック起動トレイにショートカットを追加する方法はありますか
URLリンク(www.microsoft.com)
既存ショートカットのアイコンを変更する方法はありますか
URLリンク(www.microsoft.com)
マイ ネットワークにショートカットを作成する方法はありますか
URLリンク(www.microsoft.com)
[スタート] メニュー内にフォルダを作成する方法はありますか
URLリンク(www.microsoft.com)
デスクトップ ショートカットのリンク先を変更する方法はありますか
URLリンク(www.microsoft.com)
[マイ コンピュータ] アイコンのキャプションを変更する方法はありますか
URLリンク(www.microsoft.com)
特定のショートカットに対応している実行可能ファイルを調べるにはどうすればよいでしょうか
URLリンク(www.microsoft.com)
スクリプトを使用して [スタート] メニューに特定のファイルを常に表示することはできますか
URLリンク(www.microsoft.com)
他
・リソースキットの中のshortcut.exe
・mkshc_at ショートカット作成 (コマンド実行専用) URLリンク(www.tsubak.com)
277:名無し~3.EXE
06/10/17 19:30:39 io+8bl7Q
>>199
亀レスですまんが,ありがとう
同じようなことしようと思って苦労してた
278:名無し~3.EXE
06/10/17 21:46:20 N9oYajNV
>>275,276
サンクス
279:名無し~3.EXE
06/10/17 23:11:12 kpUzoa/s
>>245
XP Proなら
c:\windows\system32\openfiles.exe
なければ、oh.exeやhandle.exeを入手。
280:名無し~3.EXE
06/10/17 23:13:00 kpUzoa/s
>>264
runas.vbsの世界へ。
281:名無し~3.EXE
06/10/18 02:04:31 u9ZZOnu7
>>227
zip.vbsの世界へ?
282:名無し~3.EXE
06/10/18 13:33:17 lsVuuXuV
特定のEXEファイルに複数のファイルを一つずつ投げたいんですがどう書けばいいですか?
ループとかそのあたりを使えばいいのは大体わかるのですが…
283:名無し~3.EXE
06/10/18 13:39:52 V8rOGUBu
>>282
>>4
284:名無し~3.EXE
06/10/18 13:46:05 8HDygbIE
投げるっていうのは、DDEのこと?SendMessageみたいなもの?それともその他?
exeをパラメタを変えて何度も起動するだけでいいなら>>283
285:名無し~3.EXE
06/10/19 11:18:07 xPYMe9IZ
素のWindowsだけで指定ファイルのパス名をコピーすることって出来ますか?
別にコマンドライン使わなくてもいいんですが。
286:名無し~3.EXE
06/10/19 11:53:25 FKzXfjJ7
>>285
出来るよ。WSHを使うのが定番。
普通に引数でパスを取って、IEの機能を使ってクリップボードに格納する。
腐るほどサンプルが転がってるから、あとは自分で拾ってこい。
287:名無し~3.EXE
06/10/19 13:43:58 xPYMe9IZ
んーと、それは素じゃない。どんなファイルもつくらずに、
Windows標準のみのファイルやアプリで実現できませんか?
288:名無し~3.EXE
06/10/19 14:00:38 5JEXY7pR
>>287
WSHは大概Winなら入ってると思うがWinの何を使ってるの
289:名無し~3.EXE
06/10/19 14:02:32 W81ZluKJ
ファイルを作らないなら、
「ファイル名を指定して実行」にファイルをドロップして、そこからコピー。
コマンドプロンプトにドロップしても出来るけど。
ファイルを作るなら、
START IExplore.exe about:
というバッチファイルか、
フルパス\IExplore.exe about:
というショートカットを作って、ファイルをドロップして、そこからコピー。
290:名無し~3.EXE
06/10/19 14:03:38 FKzXfjJ7
>>287
出来るよ。
コマンドプロンプト開いて対象ファイルを窓にD&Dすると、パスが表示されるので
それを範囲選択してコピー。
先に言っておくが、面倒だとか言うなよ。自分でわざわざ面倒になるような条件出してるんだから。
因みに、「素のWindows」と言った場合は、一般的に外部ソフトを入れない事を差し
ファイルを一切作らないことは差さないので覚えておくように。
>>288
.vbs、.js、.wsfなどのファイルを作成するのが嫌なんだと思われ。どうしてなのかは知らないが。
291:名無し~3.EXE
06/10/19 14:10:21 W81ZluKJ
>>282
FORのほかに、
リソースキットのforfiles.exe
や
SFUのfind.exe
も。
292:名無し~3.EXE
06/10/19 14:49:09 xPYMe9IZ
例えば、フォルダ右クリックにプロンプトを開くっていうのは、
レジストリをいじるだけで可能で
こういう感じで機能を実現できればなって思ったんですが、
簡単にやろうとすると難しいみたいですね。
293:名無し~3.EXE
06/10/19 17:07:36 W81ZluKJ
>スレリンク(tech板:41番)
>41 :デフォルトの名無しさん :2006/09/26(火) 21:00:10
> 実行中にcmdの窓を最小化させる方法はないですか?
Set Word=CreateObject("Word.Application")
Name=WScript.Arguments.Item(0)
If Word.Tasks.Exists(Name) Then
Set Task=Word.Tasks.Item(Name)
Task.WindowState=2
End If
Word.Quit
If IsEmpty(Task) Then WScript.Echo Name&"is not found !"
というVBSファイルを作って、
TITLE hogehoge
hoge.VBS hogehoge
294:名無し~3.EXE
06/10/19 17:17:06 W81ZluKJ
コンソールログをうまく取る方法はないもんでしょうか。
DOSのconcopy.com
unixのscript
みたいな。
cmd.exe 2>&1 | tee.exe file
は入力が取れない。
more | cmd.exe 2>&1 | tee.exe file
も、もうひとつ。
295:名無し~3.EXE
06/10/19 21:15:58 ls1OF9sj
懐かしのシラネーヨ.batだな。
^Cとか^Zとかに対応できないのが玉に瑕
296:名無し~3.EXE
06/10/19 21:44:25 W81ZluKJ
>>100 亀れす。
こういうのは、SFUなどのfind.exeが得意なのでは。
find.exe folderB -t -comp folderA -rm
とかで。
297:net time
06/10/19 22:08:33 DylRciLf
コマンドに"net time"時刻同期のコマンドがあるのですが、1度コマンドを実行すると10秒ほど経たないと次の"net time"コマンドが飛ばないようなのですが、すぐに2回目のコマンドを飛ばすことはできないのでしょうか?
ご教授願います。
298:296
06/10/19 22:21:02 W81ZluKJ
済みません。
本家のfindでサポートしてないシンタクスでした。
便利だったんですけど。。。
299:名無し~3.EXE
06/10/19 23:52:52 Fqa1lY+E
あえて言おう、>>297
マルチするなと。
300:名無し~3.EXE
06/10/20 19:37:49 xavmQ34J
>>292
んーと、それは素じゃない。どんなファイルもいじらずに、
Windows標準のみのレジストリやアプリで
フォルダ右クリックにプロンプトを開くっていうのは、
実現できませんか?
レジストリもいじらないで
機能を実現できればなって思ったんですが、
簡単にやろうとすると難しいみたいですね。
なんていう考え方もありますわな。
301:名無し~3.EXE
06/10/20 20:45:27 ZW0sFp6N
>>300
矛盾しすぎだな…簡単に~というのも曖昧な表現過ぎて…やっぱいいや
302:名無し~3.EXE
06/10/20 21:19:23 l1bcIv1g
ちなみにVistaの少なくともRC1ではShift+右クリックでコマンドプロンプトを開く
メニューが表示されてたけど最近のビルドだとなくなってるような。
303:名無し~3.EXE
06/10/20 21:20:40 l1bcIv1g
>>301
もともとのコメントが矛盾してるのを逆説的に示してるだけでしょ
304:名無し~3.EXE
06/10/20 21:26:22 ZW0sFp6N
>>303
うんそうだね…で?
305:名無し~3.EXE
06/10/20 21:46:17 3EPLvaDr
>>304
無理な注文言うなってことだろ?
そんなことも分からんの?
306:名無し~3.EXE
06/10/20 21:53:38 3EPLvaDr
正確には、無理な注文にマジレスするだけ無駄、ってことか。
307:名無し~3.EXE
06/10/20 22:06:40 ZW0sFp6N
>>305
だからそれがどうかしたの?
308:名無し~3.EXE
06/10/20 22:40:38 3EPLvaDr
まさに、バカにマジレスするのは疲れる...ってのが分かったよ。
309:名無し~3.EXE
06/10/20 22:42:43 3EPLvaDr
>>300
「マジレスするトンマ野朗」に俺もなってしまった。
310:300
06/10/20 22:55:44 xavmQ34J
コメントを差し控えさせて頂きます。(常套句)
311:名無し~3.EXE
06/10/20 23:36:55 xavmQ34J
素のWindowsが好きなのは、人それぞれの勝手ですが、
それならそれで、素のWindowsに入ってるヘルプでも見て、
その範囲で使ってればよいものを、
素のWindowsにない情報をネットに求めれば、
得られる回答が素のウィンドウでないのは当たり前だろ。
という寓話です。
312:名無し~3.EXE
06/10/21 00:29:09 mfwax+i1
ID:ZW0sFp6Nよ
トンチンカンなこと言ったのを指摘されて恥ずかしかったからといって、そうどくれるなよ、な。
313:名無し~3.EXE
06/10/21 14:02:44 XLNlcWtB
技術的な話をしてもよろしかったでしょうか?
禍転じて福となす?怪我の功名?なんだかよく分りませんが、
VBScriptやJScriptの敷居がそんなに高い?のなら、
それに、このスレッドはコマンドラインのスレッドだし、
このスレッドらしい?VBScriptやJScriptを使わない方法はないものか?
と考えてみました。
素のWindows 2003 Serverには、CLIP.EXEが入っています。
Windows XPなどは、残念ながら、有償のリソースキットを入れるしかなさそうです。
バッチファイルで、やる方法。
Clipboard as Name.CMD
@ECHO %* | CLIP.EXE
レジストリとダミーファイルで、やる方法。
Clipboard as Name.NameOnClipboard
拡張子.NameOnClipboardに関連付け
open動詞にCMD.EXE /C,ECHO %* | CLIP.EXE
WSHのドロップハンドラを指定。
ファイルを作ったりするので、>>285さんの要件には合いませんが、
一般の、ファイルを作ってもいいから、なんとかしたい、というニーズには、
合うと思います。
そう謂えば、Power ToysのSend to Clipboard as Nameも
ダミーファイルClipboard as Name.NameOnClipboardを作ってましたね。
Command Prompt from Hereと違って、レジストリだけじゃ無理みたいです。
314:名無し~3.EXE
06/10/21 14:14:54 XLNlcWtB
コマンドプロンプトでFOR /F "delims=にタブを入れたいが、
タブが補完キーに解釈されて、入力できない場合は、一時的に、補完を無効にすればよい。
cmd /f:off
FOR /F "delims=タブ
exit
315:名無し~3.EXE
06/10/22 22:21:07 EOcMerY5
clip.exe発見!
fURLリンク(ftp.microsoft.com)
ここには、choice.exe,sleep.exe,forfiles.exeなどもあります。
98なので、tail.exeはないけど。。。
316:名無し~3.EXE
06/10/22 23:28:41 wssoUMQ0
ageで失礼します。
スレリンク(tech板)l50#tag49
上記スレの>>45にて質問したのですが、こちらで聞いたほうがよいということで
こちらに来ました。
質問内容は、FOR /F ~にて、DELIMSにTABを指定する際に、
見た目のスペースを別の文字に置き換えられるかどうか?なのですが
できないというレスを頂き、またエディタであれば対応可能ということを伺いました。
エディタにて対応するとはどういうことなのでしょうか?
ご教示下さい。
317:名無し~3.EXE
06/10/22 23:47:18 4DzWCkQx
コマンドプロンプトで解釈される文字列上で、Tabを別文字で指定するこは無理だと思う。
そういう意味合いの質問だよね?
単にTabの部分を別文字に置換するのならテキストエディタとかで置換してやればいいけど。
一旦環境変数にTabを代入してそれを使うことなら可能かもしれない。(試してないけど)
set tab=
for /f "delims=%tab%" %%I
又は
for /f "delims=!tab!" %%I (遅延環境変数を使わないとダメな場合も結構あるかも)
318:316
06/10/23 00:00:57 wssoUMQ0
>>317さん
なるほど。。
環境変数でTabをセットしてあげれば確かに別文字にできますね。
まだ試してないですけど。
それで試してみます。ありがとうございました。
319:名無し~3.EXE
06/10/23 04:56:36 9teFeWA2
質問よろしいでしょうか。
例えばEドライブの直下にwavというフォルダがあり、その中にartist1、artist2、…、artistn(nは任意の数)というフォルダ群があり、
それぞれのフォルダの中にalbum1、album2、…、albumn(nは任意の数)というフォルダ群があり、それらのフォルダの中にそれぞれtrack1.wav、track2.wav、…、trackn.wav(nは任意の数)というファイル群があったとします。
これらのwavファイル全てをlameにかけてエンコードし、そのファイルをEドライブ直下のmp3というフォルダの中にwavフォルダと同じフォルダ構造で出力したいんです。
(例:E:\wav\artist1\album1\track1.wavはE:\mp3\artist1\album1\track1.mp3として出力したい)
これをいちいち
LAME "E:\wav\artist1\album1\track1.wav" "E:\mp3\artist1\album1\track1.mp3"
cls
LAME "E:\wav\artist1\album1\track2.wav" "E:\mp3\artist1\album1\track2.mp3"
………(中略)………
LAME "E:\wav\artistn\albumn\trackn-1.wav" "E:\mp3\artistn\albumn\trackn-1.mp3"
cls
LAME "E:\wav\artistn\albumn\trackn.wav" "E:\mp3\artistn\albumn\trackn.mp3"
cls
exit
とやっていたのでは記述量が膨大で大変です。
for文などを使って上手くループ処理に出来ないですかね?
お力を貸してください、お願いします。
320:名無し~3.EXE
06/10/23 05:24:04 CBFP8CuU
> for文などを使って上手くループ処理に出来ないですかね?
出来ますよ。
321:名無し~3.EXE
06/10/23 05:27:18 9teFeWA2
>>320
本当ですか!具体的にはどのようにすればよいのでしょうか。
322:名無し~3.EXE
06/10/23 13:48:20 ES8SWZkF
>>316
>FOR /F ~にて、DELIMSにTABを指定する際に、
>見た目のスペースを別の文字に置き換えることって可能でしょうか?
>例えば "DELIMS=[TAB]" を "DELIMS=\t" のようにするなど。
テレパスではないので、質問に素直に答えると、
SET hoge=FOR /F "DELIMS=[TAB]" ~
SET %hoge:[TAB]=\t%
ECHO %hoge%
もし、これが求めているものと異なる場合は、質問を変えたほうがよいと思う。
323:名無し~3.EXE
06/10/25 09:14:51 fdOJ++H8
ファイル名に時間を含めるために
set DATESTR1=%time:~0,2%%time:~3,2%
みたいな感じで時間を取得してそれをリネームに使ってるんですが、
これだと10~24時までしかうまく動きません。
0~9時台だと取得がずれてしまってリネームに失敗するんですが、何かうまい方法あるでしょうか?
324:名無し~3.EXE
06/10/25 09:45:07 cRvYPHXE
>323
バッチファイル内では以下のように記述すると良い。
(WindowsNT/2000/XPにて可。恐らくWindowsServer2003やWindowsVistaでもOKだと思うが未確認)
FOR /F "eol=; tokens=1,2 delims=: " %%i IN ('TIME/T') DO @SET TIMESTR=%%i%%j
FOR /F "eol=; tokens=1,2,3 delims=/ " %%i IN ('DATE/T') DO @SET DATESTR=%%i%%j%%k
325:名無し~3.EXE
06/10/25 14:28:43 fdOJ++H8
>>324
XPで無事できました!
ありがとうございます
このスレで出る質問は大抵for文で解決してますけど、ほんと何でもできるんですね……
326:名無し~3.EXE
06/10/25 15:24:03 pmLqT4o8
FOR /F "delims=" %%0 IN ('MORE') DO (
ECHO %%0
ECHO %%0>&2
)
でtee.cmdが出来るかも、と思ったら、
FOR /F IN ('コマンド')は出力を一旦どこかに溜め込んでるみたいですね。残念。
327:名無し~3.EXE
06/10/25 15:34:03 pmLqT4o8
FOR /F %%0 IN ("~")
で、トークンの数を調べようと思ったら、どうすりゃいいでしょう?
不定個数のトークンの処理ってむずかしいような。
"tokens=1*"で1個ずつ取り出して残りを再帰呼び出しするのでしょうか。
328:名無し~3.EXE
06/10/25 23:58:09 eEi2UFaY
for /? を見る限りでは、eolを活用すりゃ良い気がする。
区切り文字が複数ある場合、更に一ひねり必要だけど。
329:名無し~3.EXE
06/10/26 16:36:30 /s+J/qsz
FOR /Fのeol=はline separatorでなく、start of commentなのよ
330:名無し~3.EXE
06/10/26 19:41:42 /s+J/qsz
%%*とかshiftforとかあれば楽かも。
331:名無し~3.EXE
06/10/26 22:02:21 SVXaZk3q
ちょっと話脱線するけど、慣れちゃって疑問感じないけど冷静に考えると、
アルファベット順に自動で変数割り当てるって、やっぱ変な仕様だよなぁ。
そのせいで↓みたいな変な制約もあるわけだし。
> %i は for 文で明示的に宣言され、%j と %k は tokens= オプションで暗黙的に
> 宣言されています。tokens= 行を使って 26 個までのトークンを指定できますが、
> 文字 'z' または 'Z' よりも高い変数を宣言することはできません。FOR 変数名は
> 単一の文字で、大文字と小文字を区別し、グローバルなものであり、一度にアクティ
> ブにできるのは合計 52 個までです。
332:名無し~3.EXE
06/10/26 22:03:37 SVXaZk3q
と文句いいつつ試してみたらちゃんと動いたのでちょっと嬉しかった。
C:\>type hoge.txt
001,002,003,004,005,006,007,008,009,010,011,012,013,014,015,016,017,018,019,020,
021,022,023,024,025,026,027,028,029,030,031,032,033,034,035,036,037,038,039,040,
041,042,043,044,045,046,047,048,049,050,051,052,053,054,055,056,057,058,059,060,
061,062,063,064,065,066,067,068,069,070,071,072,073,074,075,076,077,078,079,080,
081,082,083,084,085,086,087,088,089,090,091,092,093,094,095,096,097,098,099,100
C:\>for /f "tokens=1-25* delims=," %a in (hoge.txt) do for /f "tokens=1-25* deli
ms=," %A in ('echo %z') do echo %Z
C:\>for /F "tokens=1-25* delims=," %A in ('echo 026,027,028,029,030,031,032,033,
034,035,036,037,038,039,040,041,042,043,044,045,046,047,048,049,050,051,052,053,
054,055,056,057,058,059,060,061,062,063,064,065,066,067,068,069,070,071,072,073,
074,075,076,077,078,079,080,081,082,083,084,085,086,087,088,089,090,091,092,093,
094,095,096,097,098,099,100') do echo %Z
C:\>echo 051,052,053,054,055,056,057,058,059,060,061,062,063,064,065,066,067,068
,069,070,071,072,073,074,075,076,077,078,079,080,081,082,083,084,085,086,087,088
,089,090,091,092,093,094,095,096,097,098,099,100
051,052,053,054,055,056,057,058,059,060,061,062,063,064,065,066,067,068,069,070,
071,072,073,074,075,076,077,078,079,080,081,082,083,084,085,086,087,088,089,090,
091,092,093,094,095,096,097,098,099,100
C:\>
333:327
06/10/26 22:32:23 /s+J/qsz
>>331
なので、私は数字の0,1,2,...を使うことを勝手に推奨しています。
334:名無し~3.EXE
06/10/27 00:00:52 /s+J/qsz
%0から始めると1-31 %Oまで使えます。途中%:とかも。
335:名無し~3.EXE
06/10/27 00:19:27 zn7U0YhT
試してみたら「%31」だと「%3」と「1」になっちゃうんだけど、どうやるの?
336:名無し~3.EXE
06/10/27 00:49:10 J3SJtBgW
call でサブルーチン呼んでshiftすりゃいいべ
337:名無し~3.EXE
06/10/27 12:06:07 zfuA9cK1
>>335
tokens=1-31*で%0から%Oまで。
338:名無し~3.EXE
06/10/27 12:53:57 zfuA9cK1
32番目以降のトークンは取れない仕様みたいです。
set n=0
:loop
set /a n=n+1
set x=0
for /f "delims=, tokens=%n%" %%1 in (hoge.txt) do (
echo %%1
set x=1
)
if %x%==1 goto loop
echo %n%
339:名無し~3.EXE
06/10/27 13:10:02 zfuA9cK1
不定個数のトークンを処理する方法
type hoge.txt>line.txt
set n=0
:loop
set /a n=n+1
set x=0
for /f "delims=, tokens=1*" %%1 in (line.txt) do (
echo;%%1
echo;%%2>line.txt
set x=1
)
if %x%==1 goto loop
echo %n%
340:名無し~3.EXE
06/10/30 15:23:22 oK1Aiu/J
>>336
callは、delims=空白タブ=;,の扱いになるので、delims=,などのときに使えない。
341:名無し~3.EXE
06/10/30 19:14:57 oK1Aiu/J
XPでは.exeのショートカットにドロップしても引数が消えませんが、
.vbsのショートカットでは消えます。
ところが、lnkfileのドロップハンドラをwshのものに変えると、
.vbsのショートカットでも消えなくなります。
なので、2000や98などでも、lnkfileのドロップハンドラをwshのものに変えると、
ショートカットにドロップしても引数が消えなくなるかも知れません。
342:名無し~3.EXE
06/10/31 00:18:03 gQgyQPtQ
タブ文字の入力方法
for /f "delims=" %0 in ('type con') do set tab=%0
(タブ)(改行)
^Z
echo a%tab%b
343:名無し~3.EXE
06/11/02 17:49:18 sjRZNhMU
test
344:名無し~3.EXE
06/11/02 18:12:49 YlCRHYMe
whoami
345:名無し~3.EXE
06/11/02 18:47:47 J4pr3aX8
サーバー:192.168.0.254
クライアント1:192.168.0.2
クライアント2:192.168.0.3
というアドレスのPCがあるとき
クライアントがどれか1台でも起動していれば = 何もしない
すべてのクライアントがシャットダウンしたら = サーバーもシャットダウンする
ということでこちらで以下のやり方を教えていただきました。
@echo off
set dt=0
ping 192.168.0.2 | find "100%% loss"
if errorlevel 1 (set dt=10&goto :alived)
ping 192.168.0.3 | find "100%% loss"
if errorlevel 1 (set dt=10&goto :alived)
if %dt%==0 C:\backup.bat
:alived
これを、どれか1台でもpingに反応していれば
繰り返すにはどう書けばいいのでしょうか?
ご指導よろしくお願いします。
346:名無し~3.EXE
06/11/02 19:06:22 n1Q/MJZA
goto使っててどうして分からないのか不思議だ?
もっとも手直しが少ない方法は、
:alivedラベルを@echo offとset dt=0の間に移動する。
っていうか環境変数dtは要るのか?
無駄に設定してるだけに見える。
347:名無し~3.EXE
06/11/03 15:17:50 DnIKy2oO
そうでもないか。
348:名無し~3.EXE
06/11/03 21:40:54 gJdLXMtF
環境変数dtに関するset命令とif命令は俺も全て不要だと思う。
349:名無し~3.EXE
06/11/04 12:31:17 Rj1Lj+SZ
困ったことが起きました
諸先輩方のお知恵をお貸しください
Windowsの復元操作をしてフォダ名が書き換えられてしまったのです
WEBページをローカル環境に保存して見ていたものが
すべて「フォルダ名→フォルダ名(2)」の形になりました
URLリンク(kasamatu.o0o0.jp)
pass:2ch
フォルダ名(2)を取得してフォルダ名に変更する(もどす)スクリプトをお願いします
1)OSはWindowsXPHESP2
2)復元したあと復元ポイントを放棄したので「再復元」「復元の取り消し」は出来ない
3)書き換えられたフォルダはすべて「フォルダ名→フォルダ名(2)」最後に(2)がついた形、(2)はすべて半角
4)WEB保存用フォルダは一つだけ。階層がたくさんあって全部で数百以上あるので
手作業は困難
5)どシロートなのでコマンドプロンプトの知識は無い
作ってもらったのを使うことは出来る程度のレベル
よろしくお願いします<(_ _)>
350:名無し~3.EXE
06/11/04 13:04:24 Rj1Lj+SZ
書き忘れましたが「ファイル名」はそのままです
フォルダ名だけです<(_ _)>
351:名無し~3.EXE
06/11/04 13:07:27 3leZuA7v
>>349
@echo off
setlocal enableextensions enabledelayedexpansion
for /r %1 %%i in (.) do (
cd /d %%i
for /f "usebackq delims=" %%j in (`dir /ad /b *^(2^)`) do (
set fn=%%j
ren !fn! !fn:~0,-3!
)
)
REM --- ここまで
↑をメモ帳にコピペして「hoge.cmd」と名前を付けて
WEB保存用フォルダの一番上の階層に保存した後
エクスプローラから「hoge.cmd」をダブルクリック。
352:名無し~3.EXE
06/11/04 13:54:38 4Dsu/0i6
別に何も作らなくてもFlexibleRenamerとかのリネームツールで
フォルダのみを対象に「(2)」→「」の置換をすれば良いだけだけどね。
正規表現すら必要ないし、サブフォルダ内も全て一発でリネームできる。
353:名無し~3.EXE
06/11/04 14:15:59 Rj1Lj+SZ
>>351-352
ありがとうございます
やってみたら「みつかりません」が多数出るのでどうなったかと思いましたが
実際に見たら書き換えられていたようです感謝<(_ _)>
354:名無し~3.EXE
06/11/04 23:02:49 USOpz/32
以下ようなバッチファイルを作成したいのです。
1.インターネットエクスプローラーを開く。
この時にホームページをURLリンク(www.yahoo.co.jp)
に設定しておいたとすると、このページが立ち上がったところで、
「ENTERキー」を叩くとURLリンク(search.yahoo.co.jp)
に辿り着きます。
今回は、この「ENTERキー」を叩く、部分をファイルに入れてしまって、
バッチファイルを開くだけで、URLリンク(search.yahoo.co.jp)
に辿り着くものを作成したいのですが、ホームページは
URLリンク(www.yahoo.co.jp)のままで変えないとすると、
どのように書いたらよろしいでしょうか?
@echo off
"C:\Program Files\Internet Explorer\IEXPLORE.EXE"
このあとにはなんと付け加えたらよいのでしょうか?
よろしくお願い致します。
355:名無し~3.EXE
06/11/04 23:20:00 8yxluHxk
バッチファイルでは無理
356:名無し~3.EXE
06/11/04 23:21:46 ZY+1jLO8
通常使用するブラウザがIEなら
start URLリンク(search.yahoo.co.jp)
でいいのではないでしょうか。
357:名無し~3.EXE
06/11/04 23:33:07 3R+cY6NI
IEが通常使用するブラウザで無かったら、
"C:\Program Files\Internet Explorer\IEXPLORE.EXE" "URLリンク(search.yahoo.co.jp)
358:354
06/11/04 23:41:33 USOpz/32
皆様、ありがとうございます。
『「ENTERキー」を叩く』という動作自体をbatファイルの中に書き込む
ことは不可能でしょうか?
もしこれが不可能だとすると、他にどんな方法が考えられますか?
お願いします。
359:名無し~3.EXE
06/11/04 23:42:49 NCf7BNdE
まぁ、中を取って、
start IEXPLORE.EXE "URLリンク(search.yahoo.co.jp)
がよいかと。。。
360:名無し~3.EXE
06/11/04 23:44:14 h4oF94Gt
>>358
JavaScript/Bookmarklet
361:名無し~3.EXE
06/11/04 23:45:03 h4oF94Gt
URLに " " は要らんよ
362:名無し~3.EXE
06/11/04 23:51:08 NCf7BNdE
試してないけど、こんなのでどう?
MSHTA.EXE vbscript:Execute("CreateObject(""WScript.Shell"").SendKeys ""{ENTER}"":close:")
363:名無し~3.EXE
06/11/05 00:59:50 ERnKg4ol
どうしてもbatでEnterを打たせたかったら
なにかフリーソフトを用意して、それをbatから呼び出すとか
普通に>>356-357みたく直接開けばいい話だと思うが
364:354
06/11/05 01:13:52 RCi+n/90
すみません、お騒がせしました。
WSHを使えばすむ話でした。
Set WshShell=Wscript.CreateObject("Wscript.Shell")
WshShell.Run"IEXPLORE.EXE"
WScript.Sleep(4000)
WshShell.SendKeys("{ENTER}")
365:名無し~3.EXE
06/11/05 01:35:01 7WDpcn0x
最初から URLリンク(search.yahoo.co.jp) を開くのはだめなのか。
多分だめなんだろうな。
366:名無し~3.EXE
06/11/05 15:38:54 rje+y4ta
質問させてください
win2kprosp4で
実験の過程で
C:\WINNT\system32\GroupPolicy\Machine\Scripts\Shutdown に
無限ループするように作ったバッチファイルを置いて実行させてみるのですが
10分?(正確に測っていない)ぐらいするとシャットダウンされてしまいます。
これは、何かタイムアウト処理が働いているからでしょうか?
どうすればシャットダウンさせなくできますか?
367:名無し~3.EXE
06/11/05 18:03:57 ft5S0/Lo
質問です。
DVD-ROM(F:\)から中に入ってるファイル名を取得そのファイル名から
D:\~にある同一ファイル名でヒットするものをを削除する
こんな感じのバッチファイルを作りたいんですがどう書けば良いのでしょうか?
FOR /R F:\ %%F IN (*.) DO DEL %%F
PAUSE
これを実行するとF:\が間違ってると言われます・・・
368:名無し~3.EXE
06/11/05 22:34:11 gaAwMg4f
>367
DEL C:\HOGEHOGE.log
DEL C:\HOGEHOGE2.log
FOR /F "eol=; tokens=* delims=/ " %%i IN ('DIR/O:N/A/B F:\*') DO @DIR/B/S D:\"%%i">>C:\HOGEHOGE.log
FOR /F "eol=; tokens=* delims=/ " %%i IN ('TYPE C:\HOGEHOGE.log') DO @ECHO %%i>>C:\HOGEHOGE2.log
FC/B C:\HOGEHOGE.log C:\HOGEHOGE2.log
↑
上記のバッチファイルを実行して、最後に「相違点は検出されませんでした」と表示されるかどうかと
C:\HOGEHOGE2.logの内容を確かめてみてよ。ひょっとしたら削除にも応用できるかも。
369:名無し~3.EXE
06/11/05 23:12:56 ft5S0/Lo
>>368
D:\>DEL C:\HOGEHOGE.log
D:\>DEL C:\HOGEHOGE2.log
C:\HOGEHOGE2.log が見つかりませんでした。
D:>FOR /F "eol=; tokens=* delims=/ " %i IN ('DIR/O:N/A
/B F:\*') DO @DIR/B/S D:\"%i" 1>>C:\HOGEHOGE.log
ファイルが見つかりません
ファイルが見つかりません
ファイルが見つかりません
ファイルが見つかりません
ファイルが見つかりません
ファイルが見つかりません
ファイルが見つかりません
D:\>FOR /F "eol=; tokens=* delims=/ " %i IN ('TYPE C:\H
OGEHOGE.log') DO @ECHO %i 1>>C:\HOGEHOGE2.log
D:>FC/B C:\HOGEHOGE.log C:\HOGEHOGE2.log
ファイル C:\HOGEHOGE.log と C:\HOGEHOGE2.LOG を比較しています
FC: C:\HOGEHOGE2.LOG を開けません。このファイルまたはフォルダは存在しません
こんな感じでした。
hogehoge2.logには何も書かれていませんでした