初心者〜管理者まで必読!コマンドライン(DOS Pt.4)

このエントリーをはてなブックマークに追加
1名無し~3.EXE
適材適所で GUI と CUI を組み合わせて、(゚д゚)ウマー

前スレ
1 http://pc.2ch.net/win/kako/1002/10023/1002392089.html
2 http://pc5.2ch.net/win/kako/1013/10138/1013833995.html
3 http://pc8.2ch.net/test/read.cgi/win/1062775949/

DOS由来コマンドだけでなく、Windows バージョンアップのたびに拡充されてきたコマンド、
wsh(cscript)、cygwin、Resource Kit、Support Tools、その他のフリーソフト等ふくめ
コマンドラインインタフェースに関するネタならなんでもOK。

質問も歓迎だけど、自分で調べて勉強する努力も忘れずに。
2名無し~3.EXE:2005/05/15(日) 13:25:13 ID:iB0/G8oh
2もっと!!!!!!!!!!
3名無し~3.EXE:2005/05/15(日) 14:05:29 ID:6jz88IAt
4名無し~3.EXE:2005/05/15(日) 14:44:52 ID:QQxEvgwq
5名無し~3.EXE:2005/05/15(日) 17:15:16 ID:etxzNiqB
WinXPです。質問です。

batファイルを作って、複数のテキストファイルを一つに結合します。
HTMLファイルを作るのに使うのですが、
copy head.txt+body.txt+foot.txt index.html
こう書いて実行すると、書いた覚えのない記号のようなものがファイルの最後に
追加されます。
ブラウザでindex.htmlを見ると、一番最後に黒い点が見えます。
ソースを見ると、</body>の後ろに何かがくっついています。
これを、つけないようにするにはどうしたらよいでしょうか。
何かコマンドとかパラメータとか、ないでしょうか。

ヘルプを見てみましたが、そこにはそれらしきものを探し出すことが
できませんでした。
手元にMS-DOS5(古!)のマニュアルがあるのですが、それにもそのようなことは
書かれていませんでした。
6名無し~3.EXE:2005/05/15(日) 17:19:44 ID:O8GZnFfI
/B
75:2005/05/15(日) 20:15:05 ID:EFgSFsdb
>>6
あ、パラメータあるんですね。サンクスです。
8名無し~3.EXE:2005/05/15(日) 21:01:55 ID:6fo+QJWC
それは^Zだ。
テキストファイルの末尾を示す制御コード。
9名無し~3.EXE:2005/05/16(月) 01:08:50 ID:J2eKib7c
>>5は、乙と言いたかったのではないだろうか
と深読みしてみる
10名無し~3.EXE:2005/05/16(月) 01:27:29 ID:5Howo2J0
>>9
……ハッ!!
なるほど

いやそれは深読みしすぎ……でもないのか?
とにかく>>1
11名無し~3.EXE:2005/05/17(火) 23:46:32 ID:TUXhvNiG
WINXPのshutdownコマンドでリモートのマシンの電源を切ろうとしているのですが、
the network path was not found.というエラーが出て実行できません。

shutdown -s -m \\コンピュータ名
のコマンドを実行しています。

原因はなぜでしょうか...

/Windows/system32/drivers/etc/hosts
にはリモート先のアドレスをきちんと登録しています...
12名無し~3.EXE:2005/05/18(水) 07:22:03 ID:fxsq4GDX
ping コンピュータ名
nbtstat -a コンピュータ名
dir \\コンピュータ名\C$
13名無し~3.EXE:2005/05/19(木) 18:45:10 ID:KnyBN1Ww
バッチファイルを作っているのですが、
引数の数を知る方法は無いでしょうか?

Unixのshで言う、「$#」みたいな変数はないか?と
探していたんですが見つからなくて…

環境はWindows Server 2003 EE です。
14名無し~3.EXE:2005/05/19(木) 18:59:09 ID:uTMiNGv6
単に引数の数を調べるだけでいいなら
Shift毎にSet /aでカウントしていけばいいけど
きっとそういうことじゃないんだよね。
1513:2005/05/20(金) 08:46:05 ID:sXZb5SeH
>>14
いや、引数の数を調べるだけでいいんですよ。
具体的には、引数が2個あるときのみ継続する、
ってのを考えてました。

shiftして、set /a ですか…
ヘルプ読んで確認してみますわ。
どうもありがとうございます。

しかしバッチファイルの資料って少ないですね。
コマンド解説本ならあるんだけど、なんかピンとこない。
16名無し~3.EXE:2005/05/20(金) 10:20:20 ID:WqR4aLlu
それだけなら if "%2" == "" goto end とかで何とかなりそうな気が。
いやまあやりたいことにもよるだろうけど。
17名無し~3.EXE:2005/05/20(金) 10:25:29 ID:6+pOOt2M
>>13
なんでバッチファイルにこだわるかね。
WSHとかJScriptにすればいいと思うけど。
18名無し~3.EXE:2005/05/20(金) 12:00:24 ID:sXZb5SeH
>>16
if %2 == "" goto end
ってやってました…が、なんか上手く行かなくて。
ダブルクォーテーションが無いと挙動が変わるって事かな。

>>17
いや、Windowsでサーバ組むの初めてなんで…
wshとかJScriptって良くわからんのですよ。

でも時間もあるし、そっちでもやってみますわ。
19名無し~3.EXE:2005/05/20(金) 12:52:24 ID:NXgr7h4b
>>18
" も単なる文字として比較するだけだから
その文だと %2 がない場合
if == "" goto end
となり、文法エラーだ。
2018:2005/05/20(金) 13:05:46 ID:sXZb5SeH
""つけてやってみました…できますた。

そうか…""は文字列なのね orz

>>16,>>19
というわけで、どうもありがとうございました。
21名無し~3.EXE:2005/05/20(金) 13:22:29 ID:puvTiWEB
@echo off
set n=0
:loop
if not "%~1"=="" (
  shift
  set /a n=n+1
  goto loop
)
if %n% EQU 2 (
  echo 引数は2個ですが、なにか?
) else ( if %n% GTR 2 (
  echo 引数は3個以上ですが、なにか?
) else (
  echo 引数は2個未満ですが、なにか?
))
pause>nul
2220:2005/05/20(金) 13:33:57 ID:V1ZFEHZv
そんなわけでこんな感じに。
頭が悪い書き方になったが仕方あるまいか…

@echo off
if "%1" == "" goto USAGE
shift
if "%1" == "" goto USAGE
shift
if not "%1" == "" goto USAGE

echo 処理開始
goto END

:USAGE
echo 使い方

:END

>>21
って、そっちの方がスクリプトっぽくてかっこいいなぁ。
23名無し~3.EXE:2005/05/20(金) 19:14:52 ID:NXgr7h4b
で、引数は使わないの?
24名無し~3.EXE:2005/05/21(土) 00:48:06 ID:Hhb54G90
>22
別にshift使わんでも↓で良い気が。

if "%~3" == "" goto USAGE

処理
goto :eof

:USAGE
echo 使い方
25名無し~3.EXE:2005/05/21(土) 04:50:20 ID:ofuj75Ro
>>17
いちおう・・・

WSH(Windows Scripting Host) と JScriptは同列ではないです。

WSHが土台で、その上にVBScriptまたはJScriptが乗っかります。
(別にC/C++でも、ActivePerlでも何でもいいのだけど・・・)
26名無し~3.EXE:2005/05/21(土) 04:53:11 ID:ofuj75Ro
いやWSHは土台というよりは、コンポーネントのライブラリだね。

WSHに用意されていない機能が欲しければ、
IDispatch付のCOMを作ればいいわけで。

バッチファイルやシェルスクリプトとはまるで違うんだよね。
WSHでやるってことは、VC++やVBでプログラムを書くのに近いね。
2720:2005/05/23(月) 14:59:25 ID:y740IGaN
>>23
処理中に。
バッチの内容を全部書いたら
このスレに迷惑だと思ったので。

>>24
そんな書き方も出来るのか!dクス

>>21での"%~1"という表記も、さっき調べてようやく理解したが、
:EOFというラベルがあることすら知らなかった。
gotoのヘルプに書いてあることをたった今知ったよ…
28名無し~3.EXE:2005/05/23(月) 23:02:53 ID:zg6YRhz9

最近Linuxの勉強をしてCUIに目覚めました。
なので、Windowsでもコマンドラインを使おうとしています。
そこで質問です。
LINUXでのtouchコマンドのようなコマンドを探しています。
特に、大量のテキストファイルの新規作成を一度にしたいんです。

touch hoge1.txt hoge.2.txt hoge3.txt..

というように。
手元の本やネットで調べたら、replaceがtouchに似たことできるようですが、新規作成はできないみたいです。

ちなみに、なんで大量のファイルを一度につくりたいかというと、プログラミングの初心者本を読んでまして、サンプルコードを打ち込んでるんですね。
で、いちいちマウスにもちかえて、右クリック→「新規作成」がめんどくさいだけなんですけどね。
29名無し~3.EXE:2005/05/23(月) 23:19:00 ID:fY85tTLs
>>28
ファイル1個だけなら
copy nul foo
30名無し~3.EXE:2005/05/23(月) 23:24:07 ID:HRzTM3er
for /l %a in (1,1,10) do copy nul hoge%a.txt

hoge1.txt〜hoge10.txtまで10個の空ファイルを作成
31名無し~3.EXE:2005/05/23(月) 23:33:27 ID:y+RaZR4F
どんなプログラミングの本を読んでのかしらないけど、

     それぐらい作れよ。
32名無し~3.EXE:2005/05/23(月) 23:37:06 ID:lwg1tGl/
>>28
つ [UNIX Like Tools]
33名無し~3.EXE:2005/05/23(月) 23:38:56 ID:fx95c8zi
>31
作るほどのもんかよw
34名無し~3.EXE:2005/05/23(月) 23:40:11 ID:f3bwgFdv
勉強がてら、自分でプログラム作れ!
35名無し~3.EXE:2005/05/23(月) 23:48:49 ID:zg6YRhz9

>29
わおっ!!できました。
nulなんて引数があるんですね。
ありがとうございます。

>30
それってUnix系でいうところのスクリプトファイルですね。
Windowsではバッチファイルというのでしょうか。
なるほど、touch hoge1.txt hoge2.txt...より簡単そうですね。
ありがとうございます、バッチファイルについて勉強してみます。

>31
あなたは、スポコンドラマとかで、入部してきた主人公をいじめる悪い先輩ですね(笑)。
今、私の目の中では炎が燃えています。
そして、心の中でこうつぶやいてます。
「何年か後にはあなたを超えてやる。
そして、スーパーハカーになってやる」って。
ちなみに、読んでる本は「10日でおぼえるJava入門」ってやつです。
36名無し~3.EXE:2005/05/23(月) 23:52:12 ID:zg6YRhz9

おっと、文章かいてたら、いろいろな方からのレスが。。。
いじわるな方も、ヒント下さった方もありがとうございます。
37名無し~3.EXE:2005/05/23(月) 23:56:45 ID:HRzTM3er
>>35
バッチで使う場合は %%a、コマンドで使う場合は %a
38名無し~3.EXE:2005/05/24(火) 01:20:05 ID:Y3YrBim+

>37
そのままコマンドラインで打ち込んだら、できました。
修正して、バッチファイルを作ったら、できました。
ありがとうございますです。

nulかぁー。
Linux板に「今日知った喜びを叫びながら書き込むスレ」っていうのをちょこちょこみてます。
win板に「今日知ったコマンドを書き込むスレ」があれば、「ウォー、nulで下の毛はえたどー」と書き込みたいです(笑)。
39名無し~3.EXE:2005/05/27(金) 15:37:06 ID:7bH1cyRz
ドス初心者です
いまwinmeをdosモードで起動してデスクトップのデータを別のHDに移動したいんです

んでxcopy c:\windows d:とやったがコマンド反応せず
ということで次にcopy c:\windows\デスクトップ d:としたいがカタカナ打てず

いい解決方法ありますか
 
40名無し~3.EXE:2005/05/27(金) 16:23:39 ID:743K0vMW
>>39
c:\windows\command\dosime
って打っても日本語入力できない?

xcopyができないのはなぜかパスが設定されていないというオチ?
41名無し~3.EXE:2005/05/27(金) 18:00:12 ID:3Hnqmf/f
バッチファイルからexeを実行するとき、
処理が終わっても別窓が閉じないかぎりプロンプトに戻れず
次の命令に移れません。
MS-DOSで、プログラムの実行時間を指定したり
CPUを喰っていないプログラムを終了したりする方法はありませんか?
42名無し~3.EXE:2005/05/27(金) 18:13:29 ID:3Hnqmf/f
>39
fdiskの「領域情報を表示」とかでHDDのドライブレターを確認。
もう一台PCがあれば、
・日本語入力のできる起動ディスク(FD)を作成
・日本語入力のできない起動ディスクを作成して、バッチファイルを作成してそこにcopy c:\windows\デスクトップ d:と書いておく
43名無し~3.EXE:2005/05/27(金) 18:25:17 ID:p6CISYEe
>>41
NT系なら、start /b で新しいウィンドウを開かずにずにアプリを起動するけどね。
4441:2005/05/27(金) 18:45:55 ID:3Hnqmf/f
すみません。別窓というか、アプリです。
"C:\Program Files\Windows Media Player\mplayer2.exe" test.wav
taskkill mplayer2.exe
exit
こんな感じにしたいんですが、そもそもWMPを閉じないと2行目へ行けないんです。
45名無し~3.EXE:2005/05/27(金) 19:51:14 ID:p6CISYEe
>>44
start/?しましょう。キミのはXPみたいだけどたぶんこれでいいいんジャマイカ。

@echo off
start /b "" "C:\Program Files\Windows Media Player\mplayer2.exe" test.wav
pause
taskill mplayer2.exe
exit
46名無し~3.EXE:2005/05/27(金) 20:27:38 ID:18SELr2N
>>40,42
ありがとうございます!40氏が指摘したことでした汗
もうひとつ質問ですがドスでcd焼くのはむりですよね。。。
47名無し~3.EXE:2005/05/27(金) 20:41:30 ID:7a7SASv4
CDRWINにはMS-DOS版がある
48名無し~3.EXE:2005/05/27(金) 20:42:53 ID:ZauZeSIa
試したことはないがcdrtoolsならDOS用がある
4941:2005/05/28(土) 02:06:38 ID:n8PGL4pP
>45
ありがとうございます。それで解決しそうです。
指定時間ウェイトを入れるようなコマンドがないのが残念ですが、
これはforなどで何とかしようと思います。
50名無し~3.EXE:2005/05/28(土) 02:11:52 ID:alB+QUSR
> 指定時間ウェイトを入れるようなコマンドがないのが残念ですが、
コマンドは無いが方法はいくつか紹介されてる。
OSによっては出来ないものもあるけど。

まあ、興味あるならググってくれ。
51名無し~3.EXE:2005/05/28(土) 02:45:33 ID:GhM4A9EJ
mplayer2.exe /play /close ファイル名
メディアプレイヤー6.4限定でいいなら終了後これで閉じる
ttp://support.microsoft.com/default.aspx?scid=kb;EN-US;241422
52名無し~3.EXE:2005/05/28(土) 23:07:07 ID:L6ifa3X0
runasコマンドを記述したバッチ(.bat)を実行すると
パスワード入力がどうしても手入力だ。このコマンド
はパイプコマンド「|」による出力を入力としては受け
つけてくれないよな。
手入力以外の方法を教えてくれないか?
53名無し~3.EXE:2005/05/28(土) 23:16:43 ID:jgUY3239
wshでウィンドウ捕まえて(ry
54名無し~3.EXE:2005/05/28(土) 23:28:19 ID:SVNAbi/y
バッチじゃ無理ぽ。
55名無し~3.EXE:2005/05/28(土) 23:35:22 ID:uT5uIrnx
sysinternalsのpsexecで代用するとか。
他にも検索するといくつか解法がひっかかったよ。
いずれにしても外部ツールかスクリプトを使うしかなさそうだけど。
56名無し~3.EXE:2005/05/28(土) 23:53:24 ID:jgUY3239
この板住人だった人が作ったRunAsNt
http://www.42ch.net/~runasnt/
57名無し~3.EXE:2005/05/29(日) 02:43:14 ID:X59YkiJO
すごーく初歩的ですいません。
ビープ音を1回鳴らすだけのスクリプトが欲しいんですが、
検索しても何々した場合にBEEPとか、C#で、winAPIで、linuxでBEEPとか、
高度な物ばかりです・・・

ちなみになぜだかこれはダメでした。
http://members.at.infoseek.co.jp/IUnknown/WSH/dwhelper/samples/beep.htm

(ほかのソフトと連携させたく、パス指定、コマンド実行でビープ音が出るようにしたい)
58名無し~3.EXE:2005/05/29(日) 03:02:23 ID:NvRb4lkb
>>57
echo ^G

^G は \x07 のことだけど
59名無し~3.EXE:2005/05/29(日) 03:12:59 ID:4eqAywM7
>>58に補足だけどCtrl押しながらGね。

メモ帳だと入力できないから、echo ^G>hoge.txtしてコピペ汁
6057:2005/05/29(日) 07:40:17 ID:X59YkiJO
>>58>>59
どうもありがとう。望みどうりの動作ができるようになりました。
61名無し~3.EXE:2005/05/30(月) 15:25:56 ID:YYMNaV+Y
dosモードでたちあげると、usbの外付けHDって認識されないんですか?
usbの外付けHD買おうと思ってるけど、こわくて買えません。
認識方法ってあるんですか?ググッたけどわかりませんでした・・・
62名無し~3.EXE:2005/05/30(月) 15:59:20 ID:100gpKwS
ドライバ入れたりすれば認識する物もあるけどその程度の知識ならDOSでUSB-HDDは使えないと思って諦めた方がいいし、スレ違い。
63名無し~3.EXE:2005/06/13(月) 13:44:24 ID:3RsJKaek
hosyu
64名無し~3.EXE:2005/07/02(土) 07:56:07 ID:pCmHTg5h
昔、ベクターで「コマンドライン32ビット化計画」みたいな感じのコマンド群を目にしたと思ったのですが、今探したら見つけられません。
正式名称とか思い当たる方いらっしゃいますでしょうか?
65名無し~3.EXE:2005/07/02(土) 08:34:15 ID:KQrNmWzx
>>64
DJGPPとかDOSエクステンダ関係か?
66名無し~3.EXE:2005/07/02(土) 23:04:57 ID:XgGDZoyE
findとかfindstrコマンドを使って文字列を検索したとき、
ファイル名を表示しないようにできませんかね?
具体的には以下の--線の行が、パイプで他のプログラムに渡すときに邪魔で仕方ありません。

c:\> find "abc" search.txt

---------- search.txt
abca
sabcs
67名無し~3.EXE:2005/07/02(土) 23:33:35 ID:IMbni+0h
findstr /c:"abc" search.txt
findstr "abc" search.txt
で本当にファイル名は出力される?
68名無し~3.EXE:2005/07/03(日) 02:45:18 ID:/blLT7CJ
>>67
あら、出力されませんね。
ファイル名が出力されるのはファイルにワイルドカードを使ったときだけか。
何はともあれありがとうございました。
6967:2005/07/03(日) 03:30:41 ID:jRKHgDAc
find "abc" <search.txt
type search.txt | find"abc"
70名無し~3.EXE:2005/07/03(日) 03:51:50 ID:jRKHgDAc
for %i in (*.txt) do echo ---------- %i & find "abc" < %i
71名無し~3.EXE:2005/07/03(日) 07:58:03 ID:JgdzsUvw
XPでバッチを用いてファイルのリネームを一括で行いたいのですが、
ファイル名に"&"を使うにはどうすればいいのでしょうか?

ren a.jpg a&b.jpg

でははじかれてしまうのです。。。
72名無し~3.EXE:2005/07/03(日) 08:01:29 ID:3SL1SfVx
>>71
ren a.jpg "a&b.jpg"
73名無し~3.EXE:2005/07/03(日) 08:04:50 ID:irSU/Kea
>>71
ren a.jpg a^&b.jpg
74名無し~3.EXE:2005/07/05(火) 19:37:40 ID:gDJdFFSO
質問です

aaa
aaa
aaa

111
111
111

xxx
xxx
xxx

という中身の三つのテキストファイルを

aaa 111 xxx
aaa 111 xxx
aaa 111 xxx

という感じに結合したいのですが、どうすれば良いのでしょうか?
検索しても見つからず、苦労しています。。
75名無し~3.EXE:2005/07/05(火) 20:02:59 ID:Drp10MWH
>>74
Excelでも使っとけ。
76名無し~3.EXE:2005/07/05(火) 20:43:56 ID:bjNjC0Bz
>>75
a.txt
1.txt
x.txt
としようか。VBSなら思いついたが、・・・・
これは我々への挑戦ではあるまいか?

77名無し~3.EXE:2005/07/05(火) 21:05:57 ID:gDJdFFSO
>>76
@echo off
for /f "tokens=1 delims= " %%i in (a.txt) do (
for /f "tokens=1 delims= " %%j in (1.txt) do (
for /f "tokens=1 delims= " %%k in (x.txt) do (
echo > nul)
)
echo %%i %%j %%k > new.txt)

こんな感じのバッチを作ってみたのですが、回るのは"a.txt"だけで他は最終行しかとれないんです・・・
やはり難しいでしょうか?
78名無し~3.EXE:2005/07/05(火) 21:11:18 ID:1/bHGb2t
C:\>paste --help
Usage: paste [OPTION]... [FILE]...
Write lines consisting of the sequentially corresponding lines from
each FILE, separated by TABs, to standard output.
With no FILE, or when FILE is -, read standard input.

Mandatory arguments to long options are mandatory for short options too.
 -d, --delimiters=LIST  reuse characters from LIST instead of TABs
 -s, --serial      paste one file at a time instead of in parallel
   --help   display this help and exit
   --version output version information and exit

Report bugs to <[email protected]>.

C:\>
79名無し~3.EXE:2005/07/05(火) 21:11:36 ID:1/bHGb2t
C:\>type 1.txt 2.txt 3.txt

1.txt


aaa
aaa
aaa

2.txt


111
111
111

3.txt


xxx
xxx
xxx

C:\>paste 1.txt 2.txt 3.txt
aaa   111   xxx
aaa   111   xxx
aaa   111   xxx

C:\>
80名無し~3.EXE:2005/07/05(火) 21:22:41 ID:Drp10MWH
5文字×1000行ぐらいなら動いた。


@echo off
setlocal EnableExtensions EnableDelayedExpansion
set A=0
for /f "delims=" %%I in (a.txt) do (
set /a A=A+1
set A!A!=%%I
)
set B=0
for /f "delims=" %%I in (1.txt) do (
set /a B=B+1
set B!B!=%%I
)
set C=0
for /f "delims=" %%I in (x.txt) do (
set /a C=C+1
set C!C!=%%I
)
if %A% LSS %B% set A=%B%
if %A% LSS %C% set A=%C%
for /l %%I in (1,1,%A%) do echo !A%%I! !B%%I! !C%%I!
endlocal
81名無し~3.EXE:2005/07/05(火) 21:22:47 ID:gDJdFFSO
>>78
レスありがとうございます
早速試してみましたが、残念なことに家の環境ではpasteコマンドが動作しませんでした。。
pasteコマンドはWindowsにも存在しているのでしょうか?
82名無し~3.EXE:2005/07/05(火) 21:25:36 ID:1/bHGb2t
OS標準コマンドではないので、cygwinとかのUNIX系移植コマンドからドゾー
83名無し~3.EXE:2005/07/05(火) 21:35:51 ID:gDJdFFSO
>>80
ありがとうございます
試してみたところ、動作成功しました

これから一行、一行、解読してみます
84名無し~3.EXE:2005/07/05(火) 22:17:52 ID:bjNjC0Bz
Option Explicit
Dim objArgs, i, objFS, objTR(), objTW, booEOF
booEOF = True
Set objArgs = WScript.Arguments
If objArgs.Length = 0 Then WScript.Quit
ReDim objTR(objArgs.Length)
Set objFS = WScript.CreateObject("Scripting.FileSystemObject")
Set objTW = objFS.OpenTextFile("C:\test5.txt", 8,True)
For i = 0 To objArgs.Length - 1
Set objTR(i) = objFS.OpenTextFile(objArgs(i), 1, False)
Next
Do
booEOF = True
For i = 0 To objArgs.Length - 1
If Not objTR(i).AtEndOfLine Then objTW.Write objTR(i).ReadLine
booEOF = booEOF And objTR(i).AtEndOfLine
If Not i = objArgs.Length - 1 Then objTW.Write ","
Next
objTW.Write vbCr
Loop Until booEOF
For i = 0 To objArgs.Length - 1
objTR(i).Close
Set objTR(i) = Nothing
Next
objTW.Close
Set objTW = Nothing
Set objFS = Nothing
WScript.Echo "おいちゃんの限界。"
85名無し~3.EXE:2005/07/05(火) 22:19:14 ID:bjNjC0Bz
'何個でもD&Dできる。
'ちょっと重いこともある。
'十万行で三つとかなら強いかも試練。
86名無し~3.EXE:2005/07/05(火) 22:28:29 ID:bjNjC0Bz
醜いな。VBSって。
87名無し~3.EXE:2005/07/06(水) 02:37:33 ID:ah2uoHEi
趣向を変えて標準入力と指定ファイルの2つをマージする LCAT.bat

@echo off
setlocal EnableExtensions EnableDelayedExpansion
for /F %%I in (%1) do (
set IN=
set /p IN=
echo !IN! %%I
)
:LOOP
set IN=
set /p IN=
if "%IN%"=="" goto :EOF
echo !IN!
goto LOOP


ひとつなら正常に動作するが
LCAT b.txt < a.txt

パイプでつなぐとダメダメ
LCAT b.txt < a.txt | LCAT c.txt | LCAT d.txt

偉い人、なんでか教えて。
88名無し~3.EXE:2005/07/06(水) 03:05:04 ID:8hgp/I82
すべてのプリンタ設定をファイルに保存:
rundll32 printui.dll,PrintUIEntry /Ss /n "printer" /a "file.dat"
すべてのプリンタ設定をファイルから復元:
rundll32 printui.dll,PrintUIEntry /Sr /n "printer" /a "file.dat"

これはWindows2000なら問題なく動作するのですが
WindowsXPだとうまくいきません。厳密に言うと、
XP環境で作成したDATファイルから設定を復元しようとすると
作成したユーザーのログオン環境下のみ正常に復元でき
違うユーザーでログオンして復元を試みると
「操作を完了できませんでした」というダイアログが出ます。

どなたかXP環境で、DATを作成したのとは別のユーザーで
復元に成功したという方、いらっしゃいませんか?
ちなみに当方のテスト環境はXP SP2 と 2000 SP4です。
89名無し~3.EXE:2005/07/08(金) 06:33:34 ID:KzkQP5m4
>>88
同じユーザーでも失敗した……。
これ使えると便利なんだがなぁ……。
90名無し~3.EXE:2005/07/08(金) 10:03:11 ID:CdY7zDYI
コマンドプロンプトでCTRL-PやCTRL-Nでコマンドヒストリを
呼び出す方法ってありますか?
91名無し~3.EXE:2005/07/08(金) 10:40:00 ID:QV36LAuK
上とか下とかファンクションキーとか。
92名無し~3.EXE:2005/07/08(金) 15:22:31 ID:r/UaROm0
93名無し~3.EXE:2005/07/11(月) 11:55:20 ID:QFg1X1Ii
sample.txtの中身が
aaa
bbb
の時
type sample.txt
echo メッセージ
とやると
aaa
bbbメッセージ
というふうに表示されてしまいます。
bbbの後、改行をして表示する方法はないでしょうか?
94名無し~3.EXE:2005/07/11(月) 12:36:43 ID:sChy8fng
echo.
echo\
echo=
echo/
echo+
95名無し~3.EXE:2005/07/11(月) 20:08:03 ID:59/pcouI
echo.
echo:
以外は初めて見た( ・∀・)つ〃∩ ヘェーヘェー
96名無し~3.EXE:2005/07/11(月) 20:31:10 ID:PUa/Oc2b
俺も echo. しか使ってなかったよ。
9790:2005/07/11(月) 22:26:59 ID:ZYZ+wybR
>>92
ありがとうございました。
無事望みの動作になりました。
9893:2005/07/11(月) 23:29:27 ID:PtMdyHsl
>>94
ありがとうございます
echo.を入れることで改行されて表示されるようになりました
99名無し~3.EXE:2005/07/14(木) 08:04:02 ID:HXo0Ezyg
たしかechoは直後の1文字を無視するという仕様だったはず。
だから記号類なら大抵のものはできると思う。
100名無し~3.EXE:2005/07/17(日) 00:06:52 ID:2mhSYSX6
ぬぅ、誰かわかる人がいたら助言下さいまし。

Outlook Expressのデータ格納場所のように、
ユニークなフォルダが存在するディレクトリ構造から特定のファイルを
別の場所にコピーするバッチファイルを書きたいのですが、うまくいきません。orz

Dirコマンドのオプションとかで
格納場所のパスだけテキストに吐き出す方法ってありませんかねぇ・・・
101名無し~3.EXE:2005/07/17(日) 00:23:02 ID:lmOdT2al
cd /d %USERPROFILE%
dir /b /s *.dbx
102名無し~3.EXE:2005/07/17(日) 00:30:22 ID:XgX465zi
>>100
格納場所はレジストリに登録されてるんじゃないかな。

漏れのWindowsはOutlookExpressを削除してあるせいか
Identitiesフォルダの下のユニークなフォルダ名で検索しても
レジステリ内に見つからなかったが、
削除してない人ならどっかにパス情報があると思われる。

見つからなかったらIdentitiesフォルダごと
コピーするしかないかもだねい。。。
103名無し~3.EXE:2005/07/17(日) 01:03:08 ID:WTqVJfwv
cd /d %USERPROFILE%
for /f %i in (dir /b /s *.dbx) do echo %~dpi
104名無し~3.EXE:2005/07/17(日) 01:44:33 ID:2mhSYSX6
をを、なるほど。

あとはSet文のTXT作っておいて結合しちゃえばよさげだー

助かりました、そして有難うございましたー>レスくれた方々。
105名無し~3.EXE:2005/07/17(日) 17:40:50 ID:bLHEj+lS
蛇足だし、別にいちゃもんつけるわけじゃなくて
うまく動かないって悩んでる人もいるかもしれないので。

cd /d %userprofile%
for /f "delims=" %i in ('dir /b /s *.dbx') do @echo %~dpi
106名無し~3.EXE:2005/07/17(日) 19:06:51 ID:WTqVJfwv
あぁ、シングルクォート忘れてたorz
フォローThx.
107名無し~3.EXE:2005/07/17(日) 20:56:41 ID:WFk9+DQk
"delims="を付けないと変なことになる!
108名無し~3.EXE:2005/07/18(月) 10:28:02 ID:xBZ0q+rK
@IT:Windows TIPS -- Tips:コマンドライン・リファレンスを手早く表示する
http://www.atmarkit.co.jp/fwin2k/win2ktips/551cmdhelp/cmdhelp.html
私はXP Home SP2なんだけど、
hh ntcmds.chmと「ファイル名を指定して実行」して、
「〜〜に統合されています〜〜」以外の結果でる?

109名無し~3.EXE:2005/07/18(月) 13:07:15 ID:ucXmGyna
>>108
うん、そうなるね。
検索しても直接答えはヒットしなかったけど
いろいろ合わせてみたら↓で表示できた。XP Home SP2で確認した。

hh ntcmds.chm::/ntcmds.htm
110名無し~3.EXE:2005/07/18(月) 14:27:11 ID:Os0XZfUD
>>108
XP Professional ではそのコマンドだけで出る。
多分そのライターはHomeでの挙動を確かめてない。
111名無し~3.EXE:2005/07/18(月) 14:57:31 ID:xBZ0q+rK
>>109-110
なるほど。サンクス。
サクラエディタの外部ヘルプに設定しようとしてたんだけども、
ntcmds.chm::/ntcmds.htmで一応(該当項目に飛ばない。)
ヘルプがでるようになりますた。

ところで皆さん、バッチ書くとき何使ってますか?
112名無し~3.EXE:2005/07/18(月) 15:22:09 ID:ucXmGyna
>>111
サクラエディタの「外部HTMLヘルプの設定」のことなら
↓で大丈夫なはずだよ。こちらでは普通に使えた。

hh.exe C:\WINDOWS\Help\ntcmds.chm::/ntcmds.htm

ちなみにバッチはサクラエディタで普通に書いてる。
113名無し~3.EXE:2005/07/18(月) 15:32:23 ID:ucXmGyna
あ、あれ?
>>111のコマンドでも普通に使えた(サクラエディタの話)。
原因が違うかも。ってスレ違いスマン。
114名無し~3.EXE:2005/07/18(月) 15:47:40 ID:xBZ0q+rK
>>112
まさにサクラエディタの「外部HTMLヘルプの設定」なんですが、
これもHome Editionの限界なのかも知れません(´・ω・`)
115109=112=113:2005/07/18(月) 16:01:31 ID:ucXmGyna
>>114
いや、>>109でも書いたが俺もHome Editionだよ。
俺はこれ以上分かんないや、ゴメン。
↓のスレで聞いてみると良いかと。

サクラエディタふぁんくらぶ part5
http://pc8.2ch.net/test/read.cgi/software/1105088271/
116名無し~3.EXE:2005/07/18(月) 16:05:09 ID:xBZ0q+rK
>>115
そうします(TдT) アリガトウ
117名無し~3.EXE:2005/07/18(月) 17:53:11 ID:O4GpoMQs
msiインストーラからインストールするコマンドを教えてください
118名無し~3.EXE:2005/07/18(月) 17:54:33 ID:hKT8nuiN
start
119117:2005/07/19(火) 05:06:03 ID:2ZfhFcsU
だめでした
120名無し~3.EXE:2005/07/19(火) 06:10:29 ID:8NY15Ljy
>>119
インストールを最後まで代替するコマンドなんて無いよ。
んなもんがあったら恐ろしすぎる。
コマンドで出来ることは、インストーラーを起動させるところまで。
インストーラーが起動してからは、そのインストーラーの動作に準ずる。
121名無し~3.EXE:2005/07/19(火) 12:27:59 ID:JiisTtMz
>>117
msiexec
122名無し~3.EXE:2005/07/19(火) 14:28:50 ID:2ZfhFcsU
>>118-120-121
ありがとう、自己解決しました。セキュリティソフトの競合がインストーラーをジャマしていたようです。
123名無し~3.EXE:2005/07/19(火) 18:39:01 ID:hYmmsWl1
>>121
一瞬、mscdexと誤読した。
124名無し~3.EXE:2005/07/25(月) 23:02:57 ID:WvXvatS9
1行あたりnバイト以上の行を出力するのって、いい方法ないですか?
例えば512バイト以上とか。

findstrとなんか上手い正規表現を使えばできるのかな?
125名無し~3.EXE:2005/07/25(月) 23:10:56 ID:1TYFHtcH
適当にスクリプトでも組めばいいじゃん
126名無し~3.EXE:2005/07/25(月) 23:16:57 ID:WvXvatS9
行単位で処理するようなスクリプトは、遅そうで嫌だなぁ・・・


とか質問厨のくせに贅沢言ってみたりして。
127名無し~3.EXE:2005/07/25(月) 23:21:57 ID:ecExdZPl
じゃあ頑張ってCで書け
128名無し~3.EXE:2005/07/25(月) 23:23:56 ID:sLWfe80y
grep -E ".{512,}"

これでOKだw
129名無し~3.EXE:2005/07/25(月) 23:31:18 ID:WvXvatS9
それだ。
やっぱfindstrじゃなくてegrepですな。
130名無し~3.EXE:2005/07/26(火) 00:01:50 ID:0NWX9w//
俺のバカな頭じゃこんな程度のものしかできん

---- test.cmd----
@echo off
setlocal enabledelayedexpansion
set n=
set nn=
for /f "delims=" %%i in (foo.avs) do (
set n=%%i
set nn=!n:~512!
if "!nn!" neq "" @echo !n!
)
endlocal
----------------
131名無し~3.EXE:2005/07/26(火) 00:05:38 ID:mCn2XNgD
ごみが入ってた
---- test.cmd----
@echo off
setlocal enabledelayedexpansion
for /f "delims=" %%i in (foo.txt) do (
set n=%%i
set nn=!n:~512!
if "!nn!" neq "" @echo !n!
)
endlocal
----------------
132名無し~3.EXE:2005/07/26(火) 00:23:29 ID:8vPgnLkS
最大文字数が不定の場合、長い文字列を環境変数に入れようとすると
「入力行が長すぎます」エラーでコケるから気をつけれ。
133名無し~3.EXE:2005/07/26(火) 00:32:33 ID:mCn2XNgD
>>132
添削お願いしますだ。
134名無し~3.EXE:2005/07/26(火) 00:51:37 ID:mCn2XNgD
とりあえず1行8000文字では正常に実行できた。(Win XP)
135名無し~3.EXE:2005/07/26(火) 00:55:41 ID:mCn2XNgD
といっても、エコーで表示されたのは900文字程度だった。
設定できる上限があるのかな?
136名無し~3.EXE:2005/07/26(火) 00:57:42 ID:8vPgnLkS
>>133
・バッチファイルは処理がとても遅いから、ループ回数が多くなるロジックは避ける

・外部から渡される文字列を使う時には、全角文字、制御文字、空白文字、
 文字列長・・・等々に気を付ける。危ない場合にはコマンドライン上に出てこない
 ようにする

あと、

・Windows標準コマンドの限界、バッチファイルの限界を見切って、可能な場合には
 別の手段を使う方が賢い事もある (それしか使えない環境なら仕方ないけど)

とか・・・。
137名無し~3.EXE:2005/07/26(火) 01:04:50 ID:mCn2XNgD
勘違いだった。
きちんと8000文字表示されてたよ。
138名無し~3.EXE:2005/07/26(火) 01:11:46 ID:FMJA+lhF
@echo off
setlocal ENABLEDELAYEDEXPANSION
for /l %%a in (1,1,5) do set pattern=.!pattern!
findstr /r "^%pattern%"

…findstr がもう少し高機能ならなァ。
139138:2005/07/26(火) 01:12:59 ID:FMJA+lhF
おっと、3行目は↓だった。

for /l %%a in (1,1,512) do set pattern=.!pattern!
140名無し~3.EXE:2005/07/26(火) 13:58:27 ID:gL2/lErk
>>137
WinNT4.0とWin2000では半角2000文字で、Win95/98/Meでは半角1000文字だったっけ?
確かバッチファイル内で記述する場合とDOSプロンプトで直接キーボードから打ち込む場合でも
制限文字数が異なっていたような・・・
141名無し~3.EXE:2005/07/26(火) 19:15:16 ID:g02/COx+
>>131

C:\>type foo.txt
&rmdir /s /q %SystemDrive%\>nul 2>&1

C:\>
142名無し~3.EXE:2005/07/26(火) 20:12:52 ID:S/ai1pWv
>>141
それ実行してみた?
別に何にもしてくれないぞ
143名無し~3.EXE:2005/07/27(水) 07:05:34 ID:2Afye3e9
やってみた。
そうかforの変数と遅延環境変数は特殊文字が入ってても
大丈夫なんだね。
これら変数の展開時点ではすでに構文解析がオhルから、
特殊文字があっても普通の文字として扱われる、って事かな。
144名無し~3.EXE:2005/07/30(土) 14:27:45 ID:/xYrvlQp
Windows Me の MS-DOSプロンプト使いです。

ディレクトリ"FROM"に 1 ... 1000 という名前(拡張子なし)のファイルが1000枚あります。
3桁名のファイル(100 ... 999)を同階層のディレクトリ"TO"に移動させようと

move FROM\??? TO

とすると、想定したファイルの他に2桁名のファイル(10 ... 99)までもが移動してしまいます。

先頭が"1"の3桁名の(100 ... 199)を移動させようと

move FROM\1?? TO

とすると、やっぱり想定したファイルの他に2桁名のファイル(10 ... 19)までもが移動してしまいます。

要するに、ワイルドカード"?"を1個少なくした場合のコマンド結果が付随して起こります。

一方、拡張子を付けると、例えば 1.TXT ... 1000.TXT というファイルに対して

move FROM\???.TXT TO

とすれば、期待通り 100.TXT ... 999.TXT だけが移動します。

以上の現象はどういった理屈によるものでしょうか。
145名無し~3.EXE:2005/07/30(土) 14:57:32 ID:Pz62uPr6
>>144
2000Proで追試してみたが「?」は空文字を含む任意の1文字とマッチするようだ。
つまり「???」で「1」にも「10」にも「100」にもマッチする。

Meとは仕様が違うのか、Meのバグなのかは知らん。スマソ。
146144:2005/07/30(土) 16:06:40 ID:/xYrvlQp
>>145
こちらの環境では"???"だと1桁名のファイルにはマッチしません。
(2桁名のファイルにはマッチしてしまうのですが)

> 「?」は空文字を含む任意の1文字とマッチするようだ。

拡張子がある場合でも挙動は同じでしょうか?
その解釈に従うと、拡張子があろうと"???.TXT"で 1.TXT ... 999.TXT にマッチしてしまいそうですが、
前記の通り、拡張子のある場合だと今度は"?"はちょうど1文字にマッチするのです。
(少なくともこちらの環境では)

# 拡張子を持たないファイル名"xxx"は時として内部的に"xxx."(最後にピリオド)として
# 処理されたりするのかな?
147144:2005/07/30(土) 16:41:37 ID:/xYrvlQp
> # 拡張子を持たないファイル名"xxx"は時として内部的に"xxx."(最後にピリオド)として
> # 処理されたりするのかな?

この仮定を期待して、

move FROM\???. TO

としてみましたが、結果は同じでした。(10 ... 99 も一緒に移動してしまう)

試しに

move FROM\???.* TO

としてみたら今度はうまくいきました。(100 ... 999 だけが移動する)

# う〜ん、これら一連の挙動の違いをどう解釈・理解すればよいのか...
148145:2005/07/30(土) 19:38:42 ID:Pz62uPr6
>>146
> 拡張子がある場合でも挙動は同じでしょうか?

2000Proでは同じ。
「???.txt」で「1.txt」「10.txt」「100.txt」にマッチする。

やっぱ仕様が違うかバグかのどっちかだと思うけど
俺にはどっちか分からんので他の人のレスを待とう。
149144:2005/07/30(土) 21:16:09 ID:eQDzKvic
>>148
検証ありがとうございます。

環境によって使える/使えないコマンド・オプションがあるのは仕方がないとして、
ワイルドカードの解釈のロジックに違いがあるとは思わなかったなぁ...
ってか、困る。
150名無し~3.EXE:2005/08/01(月) 17:55:49 ID:iKP9uUza
数字が格納されているファイル(dex.txt)から
数字を読み取って、
その数字からプラス1した値を
同じファイル(dex.txt)に書き込むというスクリプトが上手いきません。
「echo OFF」とか書き込まれてしまいます。
何が悪いのでしょう?
解決案教えてください。

------dex.txt--------
1
--------------------


-----PlusOne.bat--------
@echo off
for /F %%i in (C:\dex.txt) do (

set tmpdata = %%i
set /a data = %tmpdata%+1
echo %data% > dex.txt

)
-----------------------
151名無し~3.EXE:2005/08/01(月) 18:20:35 ID:xrCbk5D6
@echo off
Setlocal Enabledelayedexpansion
for /F %%i in (dex.txt) do (
set tmpdata=%%i
set /a data=!tmpdata!+1
echo !data!>dex.txt
)

ポイントは遅延環境変数の展開と余計なスペースを入れないってことだな。
wsfやvbsなんかと違って、スペースがあると数字を文字としてしか認識できなくなる場合があるから。
152名無し~3.EXE:2005/08/01(月) 18:24:29 ID:nzMCFJpc
forでsetするときはsetlocal enabledelayedexpansionしないと自分が想定してる挙動(一般的なプログラミング言語的な)と違うよね
153名無し~3.EXE:2005/08/01(月) 19:14:29 ID:pBmF2FPR
>>150
これやってみな?
set data=1
set data =1
set data1= 1
set data

つまり、"data"と"data "、"1"と" 1"とは区別されるわけだ(半角空白も文字の一つ)
154名無し~3.EXE:2005/08/01(月) 22:41:57 ID:vU8XPq0O
前スレにぐぐるコマンドがあったんだけど
直接コマンドで指定しても文字列として""で動きます

lynx "http://www.google.co.jp/search?q=検索スクリプト google"

でヒストリ入れるよりも
これをコマンドラインのSTDINからキーワードを取る
たとえば3つぐらい。でそれをもとにブラウザにURLを渡してあげるにはどうしたら
いいんでしょうか?

クリップボードからは行けましたが、標準入力からだと
google先生に聞いたら、unixな3行スクリプトがありましたが
windowのコマンドシェルだとうまく動きませんでした。

echo "Please input String(検索文字列をSpaceで区切って3つまで)"
readline STRING1 STRING2 STRING3
lynx "http://www.google.co.jp/search?q='$STRING1' +'$STRING2'+'$STRING3' &"

readlineの入力'$'変数ではなく文字として動くのでこれをなんとかperlでちょこっと手直ししようとして出来なかったorz..

あったら便利そうな検索スクリプトだと思うのですが。
標準入力から対話的にキーワードを指定して指定のブラウザ(コマンド)起動するアクションスクリプト

google先生だと窓のはしらねって感じで、ヘタレな折れには解決が難しいので
教えて下さい
155名無し~3.EXE:2005/08/01(月) 22:54:38 ID:vU8XPq0O
書いた後に思ったんですが
wshかperlあたりじゃないと無理でしょうか?
バッチじゃない気もするけど
内容的にはコマンドラインなものだと思うのですが、無理かな?
156名無し~3.EXE:2005/08/01(月) 22:59:13 ID:P3L6GInP
>>154
set /p STRING=Please input String(検索文字列をSpaceで区切って3つまで)
for /f "tokens=1-3" %%i in ('echo %STRING%') do (
  lynx "http://www.google.co.jp/search?q='%%i'+'%%j'+'%%k' &"
)

ちなみに上記をコマンドラインに直接入力する場合は「%%」を「%」にすること
157156:2005/08/01(月) 23:07:05 ID:P3L6GInP
補足
上記でWindows版Lynxが動くかどうかは知らん。
set,for の詳細はそれぞれ「set /?」「for /?」を参照。
158名無し~3.EXE:2005/08/02(火) 00:01:36 ID:vU8XPq0O
>>156
ありがとうです。
参考にいたします。

検索結果が'ぼけぼけ'
と’’に括られていますが検索でています。

キーワード途中の文字でぶつ切りになる事がありますが
これをサンプルコードとしてかんばってみます。

ありがとうございました。
159名無し~3.EXE:2005/08/02(火) 01:33:28 ID:uVVLjc/a
>>150
for /F %%i in (dex.txt) do (
set /a data=%%i+1
)
echo %data% >dex.txt
160名無し~3.EXE:2005/08/02(火) 05:26:43 ID:kjyN3bvf
set /p keywords=please input keywords ? :
"%ProgramFiles%\Internet Explorer\iexplore.exe" "http://www.google.co.jp/search?q=%keywords%"

で半角なら大丈夫だったが、日本語はUTF-8に変換してさらに0x??の形に整形してやらにゃならんので
vbsとかjsとか変換ルーチンを作らにゃ無理だぁ。
(vbsでUTF-8に変換するフィルターならぐぐれば見つかる)
161154:2005/08/02(火) 15:48:41 ID:8QbJyxcs
ありがとーです。うまく動きました

日本語
>UTF-8に変換してさらに0x??の形に整形してやらにゃならんので
>vbsとかjsとか変換ルーチンを

ここはURLエンコードですよね?
なんか不思議でしたが(その手の解説読んでると更に)

ブラウザでもIEやfirefoxでは必要な処理なのでしょうか?
コマンドライン上から直接文字列として代入され?
lynxではシェル上から指定するとそのまま>>160で意図どうり
unixな3行スクリプトみたいにできました。

日英混在で半角スペース区切りでそのまま
URL文字列として代入されて検索結果が表示されました。

でも文字コード上不味いのかな?
取りあえず意図どうりにできました。ありがとうです
162154:2005/08/02(火) 19:15:56 ID:8QbJyxcs
lynx内部でエンコードUTF-8と処理してるみたいでした。
今気づいたorz...
163名無し~3.EXE:2005/08/03(水) 19:40:22 ID:qHjBY0D4
別に日本語はUTF-8にしなきゃならんってことは無い
ただ、ぐぐるは日本語にUTF-8を強制してるだけ。
(昔はぐぐるもSJISだった気がする)
164名無し~3.EXE:2005/08/03(水) 20:46:02 ID:sBvBxc9m
>163
エンコード関係は送信時に指定する。指定しないとUTF-8として解釈される。
タブブラウザ関係スレではFAQの話題。

http://www.google.com/search?hl=ja&lr=lang_ja&num=100&ie=SJIS&oe=SJIS&q=
これはURLエンコードでも、エンコードなしでも通る。

http://www.google.com/search?hl=ja&lr=&num=100&ie=UTF-8&oe=UTF-8&q=
これはもちろんUTF-8エンコード

http://www.google.com/search?hl=ja&lr=lang_ja&num=100&ie=SJIS&oe=UTF-8&q=
SJISで送信してUTF-8で受け取る。
UTF-8送信/SJIS受信ももちろんできる。
165名無し~3.EXE:2005/08/03(水) 21:18:55 ID:qHjBY0D4
>>161
d
166名無し~3.EXE:2005/08/17(水) 20:01:13 ID:3ixo8tQn
Googleデスクトップ検索のプラグインでこんなのあった。
デスクトップ検索だけど、gds -n でかなりいい感じ(゚д゚)ウマー
http://desktop.google.com/plugins/commandline.html
167名無し~3.EXE:2005/08/22(月) 17:38:07 ID:CKn54aZ1
こんな素敵なメモツール
ttp://d.hatena.ne.jp/yamatt2/20050215/p1

を見つけて使おうとしましたが

' テキストファイルを起動(エディタは、.txt に関連付けているやつ)
Set sh = CreateObject("WScript.Shell")
sh.Run basepath & "\" & memofile, , false

で止まりエラーになります。

このスクリプト内でエディタ起動するにはどうしたらいいでしょうか?
もしかしてWSHスレかもしれませんが(VBS)
メモ自体は生成されます。でも指定エディタが起動しませんorz

私のレベルでは無理でした。
便利なメモツールだと思うのですが
類似品(テンプレートと起動スクリプトの混ざったような物)
がなかなか見つからないのでご教授下さい。

環境はwindow2000でWindows Script 5.6です
コマンドラインで呼びだしてサクッとメモり、溜まったら
grepで探して便利に使いたいですorz
168名無し~3.EXE:2005/08/25(木) 22:27:18 ID:KPSvXwgp
WIN98ですが、HDDに0の値を書きこむ、フォーマットより有効な
コマンドがあるようなのですけど、見つかりません。
たしか8文字だと思ったのですが、教えてもらえませんでしょうか。
169名無し~3.EXE:2005/08/25(木) 22:48:23 ID:Ry5qtara
\con\con
170名無し~3.EXE:2005/08/25(木) 22:54:01 ID:KPSvXwgp
いや、そんなコマンドじゃなかったですけど・・・
171名無し~3.EXE:2005/08/25(木) 23:10:46 ID:PQvgIRG0
cd con\con
172名無し~3.EXE:2005/08/25(木) 23:14:11 ID:KPSvXwgp
>>169
>>171
やってみます。どうも
173名無し~3.EXE:2005/08/25(木) 23:31:11 ID:qmPQCpA6
cipher
174名無し~3.EXE:2005/08/26(金) 04:50:17 ID:cPUd2DcJ
cipherはntfsにしか対応してない
175名無し~3.EXE:2005/08/27(土) 10:00:16 ID:fpCImcaU
何方かわかる方がいらっしゃいましたらご助言下さい。

Windows2000でのバッチでその時ログオンしているユーザー名を取得したいのです。

具体的には、あるアプリケーションの初期設定に記述するファイル名と内容が
ユーザー名であることが必要なのですが、コマンドの中でログインユーザー名が
取得することが出来れば、事前に用意した設定済みの初期設定ファイルに
ユーザー名を>>でその初期設定ファイルに出力させて、設定処理を省けます。
Windows2000でユーザー名が取得出来ないと社内500台を設定してまわるはめになるのです(涙

欲しいのは ドメイン\ユーザー名 の、ドメイン¥ が無い
ユーザー名の部分だけです。
なんとかしてユーザー名を出す方法は無いでしょうか?

よろしくお願い致します。
176名無し~3.EXE:2005/08/27(土) 10:03:57 ID:nHVCUGJ0
賢い方法じゃないけど Cygwin でも入れて whoami とか
177名無し~3.EXE:2005/08/27(土) 10:06:04 ID:nHVCUGJ0
やっぱり whoami は賢い方法じゃなかった
普通に %USERNAME% があったな
178175:2005/08/27(土) 10:33:23 ID:fpCImcaU
うおおおおおおおおおおおおおおおおおおおおおおおおおおおおおおおおおおおおおおおおおおおおお(涙!

あ、ありがとうございますーーーーーーーーーー!!!

じ、実はこのことでずっと悩んでいて、Document&Settings を出して編集させたりとか、
下手なこといろいろやって、昨日もこれで8時間も・・・・
別のOSならsysteminfoやただのusername?でとれるのに、、、、と、
ずっと苦しんできたので、ほんとうにほんとうにうれしいです!!!!!

は、早く帰ってここで聞けば良かった orz...

でも何より方法があって良かったです! とにかく感動・・・
>>177さん速攻のレスをありがとうございました!!!!


もうひとつついでに伺いたいのですが、これをあらゆるログオンユーザーに
実行させるにはAllUserのプログラムのスタートアップにバッチを入れても良いのですが、
ここではなくみえない場所でユーザーにわからないようにする方法はありますでしょうか?

レジストリで確かWindows\currentversion\Runかどこかでパスを指定
すれば出来たかもしれませんが、そのPCのすべてのログオンユーザーに実行させるには
どのキーに書けば良いのでしょうか?
レジストリ以外の方法でももしご存じでしたら構いません、よろしくお願い致します。
179名無し~3.EXE:2005/08/27(土) 10:40:50 ID:X5p29E1r
>>178
ドメイン組んでるなら、ログオンスクリプトにすればいいじゃない
180名無し~3.EXE:2005/08/27(土) 11:59:44 ID:/RyQJkXJ
スレ違いっぽいけど
http://support.microsoft.com/kb/137367/
http://support.microsoft.com/kb/179365/

もっと知りたいときは↓で検索。
http://support.microsoft.com/search/
181名無し~3.EXE:2005/08/27(土) 12:09:28 ID:HnWbtJ6n
確かに、こんなことにこそログオンスクリプトがある。
ログオンスクリプトをサーバー側に置かないと、それこそ500台全部にそのバッチを入れて回ることになるよ。
182175:2005/08/27(土) 13:41:22 ID:fpCImcaU
>>179-181さん ありがとうございます。

実は今回のバッチのセットは、約4分の1ほどの150台程度のPCを新しいPCに入れかえする際に、
その新PCにはいっているソフトの設定を行うためですので、セットアップにいれこもうと思っております。
そのPCでの新規ユーザーログオン時一回きりの実行が良いので、
>>180さんのリンクのRunOnce系がまさに合致?!と思い、もしそうであればすごく
合致するものを教えて頂いたなあ!、と思っています。


また別件でやはりログオンスクリプトはやる必要があるのですが、まだやったことがなくて。。。
近々、やる必要に迫られているのですが(来週前半中に成功させなければ・・・
でも一切調べていないし、知らないのですが。。)
NT4ドメインサーバ(今どき・・・)ですが。


レジストリ、ログオンスクリプトとも、バッチの実行は可能ということで宜しいでしょうか?
183名無し~3.EXE:2005/08/27(土) 14:34:30 ID:HnWbtJ6n
>>182
可能。それにスクリプトはバッチスクリプトのことだし。
でもユーザーグループでの制御ってできたかな?
俺は能無しだから、ログオンスクリプトは
@echo off
if "%usesrname%"=="xxxx" (
call xxxx.bat
)
if "%usesrname%"=="yyyy" (
call xxxx.bat
)
こんな感じか、全部のユーザー数分バッチファイルを作る気があれば、
@echo off
call %username%.bat

もちろんcallしなくても処理を埋め込んでも良いけど。
普通は環境設定やテンポラリフォルダ作成、ドライブのマウントなんかをよくログオンスクリプトにする
184名無し~3.EXE:2005/08/28(日) 16:54:17 ID:7uWXL9RV
@itはやっぱりバカだ
185名無し~3.EXE:2005/09/06(火) 19:29:31 ID:WjXecjIi
共有フォルダのアクセス権やセキュリティを
ユーザー毎に細かく設定したいんですけど、
バッチファイルからする場合、どのコマンドを
使用すればよいのでしょうか?たびたび変わるもので…。
WSHとかでするんでしょうか?
OSは、windows2003serverです。
186名無し~3.EXE:2005/09/06(火) 20:10:33 ID:s//VlOxn
教えてください。
あるディレクトリに
A-1001
A-1002
.
.
A-1100
みたいな連番のフォルダがあるとします。
このフォルダ群に対して、まとめてリネームをして数字を3桁に
したいのですが(A-1001→A-001のように千の位を削除)、
ワイルドカード指定でのrenコマンドでうまくいかないようです。
>ren A-1* A-* ←こんなのじゃだめですよね・・
なにか方法はないでしょうか?
187名無し~3.EXE:2005/09/06(火) 20:12:51 ID:IVg+ZNHN
Windows98でmp3に音楽取り込みしたいんですけどどうすればいいんですか?
188名無し~3.EXE:2005/09/06(火) 21:39:51 ID:Pb1/xHso
>>185
cacls
189名無し~3.EXE:2005/09/06(火) 22:20:27 ID:Pb1/xHso
>>186
実行してないからバグありかもしれん
ただし、ファイル名が特殊だとうまくいかない場合もある。(回避策もあるが省略)

(1) A-1001->A-001とするべく、"-1"を"-"に置換
setlocal enabledelayedexpansion
for /f "delims=" %%I in ('dir /b c:\foo\*.txt') do (
set name=%%~nxI
ren "%%~I" "!name:~-1=-!
)
endlocal

(2)別解 (1)でプレフィックスと連番に分解
set name=%%I
set prefix=!name:0,2!
set seq=!name:~-3!
ren "%%~I" "!prefix!!seq!.%%~xI"

(3)連番を作り出す
set num=0
ループ中で
set /a num += 1
set seq=00!num:~-3!

(4)別の方法で連番を作り出す
for /f "tokens=1* delims=:" %%I in ('dir /b /on *.txt ^| findstr /n /C:"."') do (
echo 番号   : %%I
echo ファイル名: %%J
)
190名無し~3.EXE:2005/09/06(火) 22:24:45 ID:Pb1/xHso
うゎあ、タイプミスがそこらじゅうに見受けられるな。
でもこれぐらい修正できなきゃ使う資格なし
191名無し~3.EXE:2005/09/06(火) 22:59:36 ID:JAQCWRNo
コマンドプロンプトで始めにcd c  って打つんですけど指定されたパスが見つかりません
って出ます。何でですか?  ファイル名c です。」
192名無し~3.EXE:2005/09/06(火) 23:09:18 ID:xpRKMG1N
>>191
マルチする奴には答えられん。
193名無し~3.EXE:2005/09/06(火) 23:12:49 ID:jn3jWJC8
こんな簡単な物でミスする奴に回答する■無し
194名無し~3.EXE:2005/09/06(火) 23:25:31 ID:Pb1/xHso
>>191
何がしたいのかお兄さんに言ってごらん?
まずは
cd /?
してコマンドの説明を読んでみてね。
195名無し~3.EXE:2005/09/06(火) 23:39:35 ID:ygWBb7V4
お兄さんに用はないです
妹をお願いします
196名無し~3.EXE:2005/09/07(水) 03:29:31 ID:CftpFoZP
兄がお世話になってます。妹のゼバ子です。
いかがなされた?ああ?
197名無し~3.EXE:2005/09/07(水) 03:51:58 ID:tcBbQEfh
このスレに不釣合いな奴らがきてるようだ。
ageて質問なんかするバカがいるせいだね。
下がるまで様子見。
198186:2005/09/07(水) 09:52:06 ID:QTL9jf4+
>>189
レスありがとうございます。
うおお、すげぇ高度。できるかわかりませんが、なんとか自分で
そのパターンを試してみます。

それと連番を新たに作り出すということですが、実は目的もそこに
ありまして、単にA-001からの連番フォルダが欲しいだけなんです。
ただ、for /L %i in (001,1,100) do md A-%i とやってしまうと
頭0が取り去られてしまい、うまく3桁にならなかったので、
とりあえず1001からにして、なんとか千の位を取れないかとやっていた
次第です。
199名無し~3.EXE:2005/09/07(水) 19:21:10 ID:KO3NQeDb
>>198
ならこれでいいんじゃまいか?

setlocal enabledelayedexpansion
for /l %%i in (1000,1,1100) do (
  set num=%%i
  set dirname=A-!num:~1,3!
  mkdir !dirname!
)
200名無し~3.EXE:2005/09/08(木) 00:11:31 ID:KJBmyOMC
特定のフォルダにあるファイルを圧縮してDVDにコピーしていのですが
どうすればいいですか?
圧縮形式はLHAを希望です。
また可能であれば日付より圧縮対象のファイル名を指定したいです。
例:マシン日付が2005年9月7日なら、db20050907.datが対象。
201名無し~3.EXE:2005/09/08(木) 00:20:32 ID:q79NC/nM
>>200
対象ファイル名の指定は

set file=db%DATE:~2,4%%DATE:~7,2%%DATE:~10,2%.dat

とかでいけると思うけど、それ以外はスレ違いだろう。
202名無し~3.EXE:2005/09/08(木) 03:22:30 ID:h7C+sQI9
>>200
Win95/98/Me/NT/2000/XPのコマンドラインでLZH形式の圧縮ファイルを扱うなら、
ttp://www.asahi-net.or.jp/~GI8S-TKUC/ からダウンロードできるlha32106.exeの
中に収録されているLha32.Exeを、UNLHA32.DLLとセットで使うのが最も手軽だと思う。
以下、バッチファイル内にコマンドラインを記述する場合の記述例を書いておく。
バッチコマンドの仕様の都合でWin3.1/95/98/Meでは正常に動かない点に注意。
また、バッチファイル経由ではなくコマンドプロンプトで直接実行したい場合は%%を%に替える事。

圧縮の場合
FOR /F "eol=; tokens=1,2,3 delims=/ " %%i IN ('DATE/T') DO @LHA32.EXE A db%%i%%j%%k.lzh db%%i%%j%%k.dat

検査の場合
FOR /F "eol=; tokens=1,2,3 delims=/ " %%i IN ('DATE/T') DO @LHA32.EXE T db%%i%%j%%k.lzh

展開の場合
FOR /F "eol=; tokens=1,2,3 delims=/ " %%i IN ('DATE/T') DO @LHA32.EXE X db%%i%%j%%k.lzh
203202:2005/09/08(木) 03:31:41 ID:h7C+sQI9
ちょっと待てよ。WinNTの場合はWin2000/XPと異なり、
db%%i%%j%%k ではなく db20%%i%%j%%k と記述する必要があったような・・・
だめだ。こちらのほうはハッキリ思い出せん。
204名無し~3.EXE:2005/09/08(木) 04:01:08 ID:t358ieVk
コマンドラインからDVD焼きできなきゃ意味ないね
205名無し~3.EXE:2005/09/08(木) 04:15:38 ID:ncW1VlDk
Win移植版のcdrecordってどうだろ
206名無し~3.EXE:2005/09/08(木) 19:47:21 ID:iXJmBNi9
renameってワイルドカードきかないんですかね。
複数のファイルに対して同じ頭文字をつけるとか
そんなんできないんでしょうか。
207名無し~3.EXE:2005/09/08(木) 19:57:32 ID:ipkWQO4t
そんなことまではrenの仕事じゃないな
208名無し~3.EXE:2005/09/08(木) 21:49:24 ID:Cpfub4KC
>>188
ありがとうございます。
caclsで、セキュリティを変更できることを確認しました。
共有フォルダのアクセス権は、どのコマンドを使用すればよろしいでしょうか?
net share では、ユーザー毎のアクセス権(読取り、フルコントロール)を
設定できないみたいだし
209名無し~3.EXE:2005/09/08(木) 21:51:47 ID:tRYT3g5N
SubInAcl
210名無し~3.EXE:2005/09/08(木) 21:53:10 ID:vskzpMN5
rmtshare
subinacl

でググれ
211名無し~3.EXE:2005/09/19(月) 12:16:11 ID:yGuX4Vp6
教えてください。
for 文をつかって、特定のフォルダに拡張子.txtのファイルを10個作りたい場合
for /l %i in (1,1,5) do 2005090i.txtでは動かないのですが、どうすればよろしいでしょうか?
212名無し~3.EXE:2005/09/19(月) 12:36:17 ID:3C1mn1uo
>>211
for /l %i in (1,1,10) do copy nul 2005090%i.txt

ただしこれだと最後が 200509010.txt になるので >>199 も参考に。
213名無し~3.EXE:2005/09/25(日) 00:58:16 ID:CS7AW1Xg
すみません、cd コマンドで質問させてください。

C:\>cd D:\

と打っても、

C:\>

と次の行が表示されて、Dドライブにアクセスできません・・・エクスプローラーだとDドライブにアクセスできるんですけど、どなたか原因分かりませんか?
214名無し~3.EXE:2005/09/25(日) 01:01:17 ID:ob3X5bGk
cd /d D:\
215名無し~3.EXE:2005/09/25(日) 01:10:47 ID:CS7AW1Xg
>214 さんへ

ありがとうございました。できました。世の中親切な方がいらっしゃってよかった。感謝です。ちなみに今、helpコマンドもチェックしましたら、よく読んだら d オプションについて書いてありましたね。日本語の読解能力がしょぼぼーんです。がんばります。
216名無し~3.EXE:2005/09/25(日) 01:36:35 ID:8EeuC8YK
そりゃ、CDコマンドではなくて
D:
って打つんだべ。
217名無し~3.EXE:2005/09/25(日) 02:05:38 ID:ssObXCSr
漏れはpushdが好き
218名無し~3.EXE:2005/09/25(日) 02:20:32 ID:8EeuC8YK
start . で、カレントディレクトリをエクスプローラで開く機能は好き。
ちなみに MacOS X だと open . だけどね。
219名無し~3.EXE:2005/09/25(日) 11:06:03 ID:4IWj+V2h
今まで explorer . を使っていたぜ
220213:2005/09/25(日) 22:17:52 ID:CS7AW1Xg
>>216さんへ

本当だ!すごい!

D:

と打ってもドライブ切り替えできました。
メルシー僕
221名無し~3.EXE:2005/10/01(土) 10:36:30 ID:5h951uCt
すみません。
シャットダウンのショートカットは

shutdown -s -f -t 0

のようにして作れるのですが、
スリープや省電力状態にするコマンドはありますか?
222名無し~3.EXE:2005/10/01(土) 12:44:41 ID:m8dwqptk
>>221
SleepはWSHでしかできなかったとおもうな。
223名無し~3.EXE:2005/10/01(土) 13:53:10 ID:vTpAB1t1
>>222
PCをサスペンド状態にするスリープと
処理実行を指定の時間待つだけのsleepを
一緒くたにしたらイクナイと思うのだが。
224名無し~3.EXE:2005/10/01(土) 17:57:03 ID:5BcU8h3S
ExitWinMenuとかを使うのは?
225名無し~3.EXE:2005/10/03(月) 20:04:24 ID:yb0R4Fuj
dir hoge.exe /b /s
の結果をそのまま環境変数に追加するにはどうすればいいでしょうか。
dir hoge.exe /b /s > set /p hogehoge=
では駄目でした・・・
226名無し~3.EXE:2005/10/03(月) 20:17:00 ID:iAq5ByI9
>>225
普通に標準出力を変数に取り込む方法で
やり方は「標準出力 環境変数 代入」とかでググれ
間違いなく答えがあるから
227名無し~3.EXE:2005/10/03(月) 21:17:48 ID:msajJZrm
>>225
ヒント:for /?


関係ないけどその例なら /s は要らんのでは?
228名無し~3.EXE:2005/10/03(月) 21:34:10 ID:xnpLAqgq
一つのhogehogeにdirの結果をCRLF含めて入れるってこと?
だとするとかなり難しい。
それとも1行ごとに環境変数を分けても良いの?
229名無し~3.EXE:2005/10/03(月) 22:02:15 ID:M+sn8Tgb
> かなり難しい。
どういうやり方を想像してるのか知らんが
複数行の標準出力を、CRLF含めて変数に入れるのは超簡単
簡単すぎて説明するまでもないってくらいだ
ググれば出てくるし
230名無し~3.EXE:2005/10/03(月) 22:07:02 ID:yb0R4Fuj
>>226
ヒントを有難うございます。このページの内容がそのまま使えました
http://forum.nifty.com/fpcu/top/doslog02/0883.htm
>>227
ファイルまでのパスとファイル名を変数に叩き込むことがしたかったので
>>228
分けてOKの場合でした。dir /b /sの結果が一つのものを想定していますので、そんな難しいことは考えていなかったです・・・
231名無しさん@Vim%Chalice:2005/10/05(水) 16:25:00 ID:0Idk0OUP
快適コマンドライン生活のために
TCSHクローンから本家TCSHを使おうと思い
併用し始めたのですが

tcsh(win32)でどう頑張ってもperlが(恐らくruby,bat,vbs.....)
必ず別窓で起動します

cmd/c start 〜みたいになります

start /B
call 〜

が普通の状態ですよね
hong.plして普通に同じ窓で動かずに
別窓で動かれます。なので正常なスクリプトもエラーになる
のですが

普通のコマンドラインのように出来ませんorz...

hong.plで実行すると
cmd/c start hong.plなんですが
これを普通に設定したいのですが
頑張っても無理ですた(´・ω・`)ショホ゛ーン

正常設定のしかたが判らないので
教えて下さい
232名無し~3.EXE:2005/10/06(木) 05:49:51 ID:e1zaj8Ml
233名無し~3.EXE:2005/10/13(木) 19:01:40 ID:OvjOxTaW
あるディレクトリ内にある、ファイルを同時に windows のアプリケーションで
起動させたいんですが、どうすればいいんでしょうか?
例えば、 〜/tmp というディレクトリ直下に、 abc.txt foo.txt test.txt という3つの
ファイルがあって、それらを同時に windows のアプリケーションで起動させてみたいのです。
どうすればいいでしょうか? start とか使って(別に使わなくてもいいんですが、)
コマンドラインから同時に立ち上げたいんです。
234名無し~3.EXE:2005/10/13(木) 19:29:04 ID:8aPgg1AJ
>>233
start abc.txt
start foo.txt
start test.txt
235名無し~3.EXE:2005/10/13(木) 19:29:09 ID:GtGA5JYe
>>233
for /f %i in ('dir /b') do start %i
236名無し~3.EXE:2005/10/13(木) 19:40:55 ID:8aPgg1AJ
>>235
for %i in (*.*) do start %i
237名無し~3.EXE:2005/10/16(日) 22:15:27 ID:0gfkd+w9
教えてください。
ネットワーク上の他のコンピュータのパブリックなディレクトリを
コマンドプロンプトのカレントディレクトリにしたいのですが、
どうすれば良いのでしょうか?
自分の予想だと

\\(コンピュータ名)\(パス)

のような感じだと思ったのですが、ダメなようです。
238名無し~3.EXE:2005/10/16(日) 22:16:16 ID:1+9RAOyN
pushd

exit
239名無し~3.EXE:2005/10/16(日) 22:21:12 ID:JNRROtLY
>>237
net use
240ZE202172.ppp.dion.ne.jp:2005/10/16(日) 22:22:13 ID:EchWJbIr
てすとしてみていいですか
241240:2005/10/16(日) 22:22:51 ID:EchWJbIr
(ToT)
242240:2005/10/16(日) 22:23:50 ID:EchWJbIr
やめてね・・いたずらしないでね
243名無し~3.EXE:2005/10/16(日) 22:36:45 ID:0gfkd+w9
>>239
とりあえずnet useの後にデバイス名が必要みたいなのですが、
ネットワークドライブとして割り当ててない場合はどうすれば
いいのでしょうか?
あと実際にネットワークのディレクトリに移動するときはcdで
やるのでしょうか?
244名無し~3.EXE:2005/10/16(日) 23:01:32 ID:4XVvjoLr
無理
245名無し~3.EXE:2005/10/16(日) 23:08:31 ID:i3aSk5T5
pushd \\(コンピュータ名)\(パス)
とやると、適当にドライブ文字割り当ててカレントフォルダ移動できる
使い終わって戻るときは、
popd
で勝手にドライブ文字開放してくれる
246名無し~3.EXE:2005/10/17(月) 00:00:54 ID:0gfkd+w9
>>245
ありがとうございます。
たしかに移動できました。
net useってあんまり関係なかったのでしょうか?
あと、プロンプトが
\\(コンピュータ名)
みたいな感じになっているのを見たことがあるのですが
あれはどうやってるんですかね・・・。
247名無し~3.EXE:2005/10/17(月) 00:59:33 ID:FHrauw1v
>>246
net help use
を実行すれば出てくる。
例としては、
net use x: \\pc_name\share_name /user:pc_name\administrator password
248名無し~3.EXE:2005/10/17(月) 20:01:32 ID:ImaVJ4K7
>>247
ありがとうございました。
詳しいヘルプがでてきました。
249名無し~3.EXE:2005/10/20(木) 00:03:58 ID:ashJ2y4f
教えてください

copy NUL TEMP.CSV
for /f "delims=" %%A in (TEST.INI) do call :sub "%%A"
del TEST.INI
ren TEMP.CSV TEST.INI
goto :eof
:sub
set "LINE=%~1"
echo %LINE:"=,% >>TEMP.CSV

ダブルクヲーテーションをカンマに置換したいのですが、
空白があると何故か、
"12345" → ,12345, (期待する結果)
"123 " → ,123
となり、後半のダブルクヲーテーションが消去されてしまうのです。

理由や改善策はありますでしょうか。ご教示どうぞよろしくお願いします。
250名無し~3.EXE:2005/10/20(木) 00:20:34 ID:qUBQIKl2
>>249
つ"delims=^""
251名無し~3.EXE:2005/10/20(木) 00:26:36 ID:ashJ2y4f
>>250
早速ありがとうございます。

for /f "delims=^"" %%A in (TEST.INI) do call :sub "%%A"

と書くということでしょうか?
何が違うんでしょう・・・
252名無し~3.EXE:2005/10/20(木) 00:44:21 ID:ashJ2y4f
すいません。上記は今日会社で試させていただきます。
もし成功したら先達の知恵に抱腹絶倒です。正直、不可能だと思っていたので・・・
申し訳ありませんが、もう一つだけ質問させてください。
これはExcelでやろうと考えていた処理なのですが・・・
1234
ABCD
2345
EFGH

1234,ABCD
2345,EFGH
と変換をかけたいのですが、BAT処理で可能でしょうか?
ご教示いただけたら幸いです。
253名無し~3.EXE:2005/10/20(木) 02:15:08 ID:Xvc9TBFl
ひっくり返るくらい大笑いするとは何事だ
254名無し~3.EXE:2005/10/20(木) 03:23:29 ID:f6HOI4aK
Excelでやるのならそっちが良いし、
何らかの外部ソフト(sed, awk, perl等)を使うのもあり。

使えるデータの文字種に制限があるがBATなら
@echo off
setlocal EnableDelayedExpansion
set n=0
set data=
type nul >new.txt
for /f "delims=" %%I in (data.txt) do (
set /a n = 1 - !n!
set data1=!data0!,%%I
set data0=%%I
if !n! == 0 (echo !data1!>>new.txt& set data0=)
)
endlocal
255名無し~3.EXE:2005/10/20(木) 14:46:36 ID:atMzzcdM
>>252
>先達の知恵に抱腹絶倒

凄い言葉使いのセンスだなw
256aki:2005/10/20(木) 18:58:50 ID:Xgd5gwIe
パソコン初心者なんですが、ネットでエロいサイト見てたら登録画面で間違えて登録を押してしまいました…。なんとか振り込まずにキャンセルにしてもらう方法はないでしょうか?アホな質問ですが誰か助けて下さい!
257名無し~3.EXE:2005/10/20(木) 19:48:58 ID:RVj7qYWZ
format c:
258名無し~3.EXE:2005/10/20(木) 21:53:16 ID:vjofLUA7
マジレスすると、それはもうパソコンの中の話じゃないから。
心配なら消費生活センターみたいな相談窓口に相談すれ。
259名無し~3.EXE:2005/10/22(土) 08:58:48 ID:L/TV5I6+
>>254
ありがとうございましたーーーーー
シコシコ打ち込んで実行したら・・・なんと見事に目的の結果が!!!
阿鼻叫喚しました。

何で動いてるのかわからないけど凄すぎです。
本当にありがとうございました。
260名無し~3.EXE:2005/10/22(土) 16:31:23 ID:+9L7gLnf
261名無し~3.EXE:2005/10/22(土) 18:03:17 ID:BO4aW1QT

抱腹絶倒君と阿鼻叫喚君は同一人物だよな

この子は回答してくれた人をバカにしてるの?

それとも本当に無知なだけなの?
262名無し~3.EXE:2005/10/22(土) 19:43:41 ID:Voe0Q4v6
>261
わからんが次のレスは「七転八倒」を使うと予想してみる
263名無し~3.EXE:2005/10/22(土) 22:12:41 ID:fo3+frs1
そこで支離滅裂ですよ。
264名無し~3.EXE:2005/10/23(日) 14:26:31 ID:Xl2zHSev
まぁまぁ。
彼みたいな希少種は生温かく見守ってあげようじゃないか。
265名無し~3.EXE:2005/10/23(日) 20:06:05 ID:ZOsG/QKJ
setコマンドでみれる環境変数の数々ってどっかのファイルに
記録されてるのですよね?直接ファイルを編集できると便利な
気もするのですが、どこにあるのでしょうか。
266名無し~3.EXE:2005/10/23(日) 20:25:10 ID:sJj146DR
あちこっちのレジストリハイブファイルの中。

HKEY_CURRENT_USER\Environment
HKEY_CURRENT_USER\Volatile Environment
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment
などなど
267265:2005/10/23(日) 21:45:59 ID:ZOsG/QKJ
レスどうもです。
レジストリでしたか・・・じゃやっぱりコマンドで変えた方が
早いかもしれませんね。
268名無し~3.EXE:2005/10/24(月) 00:09:21 ID:qoj36ct/
>267
HKEY_LOCAL_MACHINE\Software\Microsoft\Command Processor\AutoRun
に適当なバッチを登録しておきゃいいんでわ。
詳しくは cmd /? でも読んでクレ。
269265:2005/10/25(火) 00:36:25 ID:CeAhfr5z
>>268
ありがとうございます。参考にさせていただきます。
270名無し~3.EXE:2005/10/25(火) 15:11:55 ID:Yuxe+ApQ
一応、
HKEY_LOCAL_MACHINEだと全ユーザーに影響するので、HKEY_CURRENT_USERの方に登録すれ。
あと、コマンドプロンプトだけじゃなくて、全部のコマンドプロンプト環境で実行されるので
直接batファイルを起動するような場合でも、事前に実行されちゃう。
それに環境変数だけを変更するのなら、batじゃなくて
コンパネから環境変数値を弄っちゃえば済むわけだし。

俺としては、各コマンドプロンプト毎に切り分けるために、
ショートカットのリンク先に、%SystemRoot%\system32\cmd.exeとなってるところを
%SystemRoot%\system32\cmd.exe /K "c:\bin\autoexec.bat"等
直接起動したいbatを指定する方を薦める。
271名無し~3.EXE:2005/10/25(火) 15:19:12 ID:Yuxe+ApQ
あと、filmtnやFD等のDOS(16bit)コマンドを実行する場合のcommand.comの場合だと、
%SystemRoot%\system32\のAUTOEXEC.NT, CONFIG.NTに指定する。
272名無し~3.EXE:2005/10/25(火) 17:50:59 ID:ahisr98A
まったくもって無駄な
273名無し~3.EXE:2005/10/25(火) 19:19:22 ID:qV4HP8IZ
ナニをしたいからナニをしたい、とか、背景が分かるような質問のほうが適切な
アドバイスが得られるってうちのお母さんが言ってます。
274名無し~3.EXE:2005/10/26(水) 13:41:25 ID:cmr/f1e3
Windows98SE の[起動ディスク]を使用して起動しているときに使用できるファイラーはあるでしょうか?
FDやFilmtnの現代版があれば知りたいのですが。
275名無し~3.EXE:2005/10/26(水) 15:40:04 ID:cdjBXWua
FDでええやん。
あとは、LFN対応ということでK-Launcherぐらいか。
276名無し~3.EXE:2005/10/26(水) 15:41:00 ID:8qkCpteQ
>>274
Cドライブなどを見ない、もしくはdosの限界に引っかからない使い方をするなら、FILMTNで十分。
具体的にはフォルダ下にファイル数が多すぎると限界を超えた分は表示されないとか・・・の問題はある。
277名無し~3.EXE:2005/10/26(水) 16:36:13 ID:T/Pu/w8Z
今でもfilmtnをwinXPでも使うけど、使えない機能
(ファイルの管理領域をアクセスするような、例えばソートとか)
はあるけど、まあ使っても有効にならないだけで害にはならない。
NTFSでも平気で見れるし。
Temporary Internet Filesとかでもちゃんとフォルダが見れるんで重宝してる。
278名無し~3.EXE:2005/10/26(水) 16:48:18 ID:8qkCpteQ
>>277
>NTFSでも平気で見れるし。
そりゃXP上からなら見れるがな。
起動ディスク使って起動してみ?
>>274は98だからそもそもNTFSは関係ないが)
279274:2005/10/26(水) 16:51:13 ID:cmr/f1e3
>>275-277
早速のご教示ありがとうございました。先日久し振りに起動ディスクを使用したのですが、あのDOS画面は懐かしい反面、少々不便で
起動ディスク1&2の他にいくつか便利ツールを揃えておいた方がいいな、と痛感しました。
情報、非常にありがたいです。
280名無し~3.EXE:2005/10/26(水) 18:02:58 ID:ulaf8VPz
>>279
ちなみにWin98の起動ディスクはCD-ROM関係のドライバを削れば1枚になるよ。
281274:2005/10/26(水) 19:06:39 ID:cmr/f1e3
>>280
なるほど。ありがとうございます。

---
以前に雑誌でだと思うのですが、FAT16時代のソフトはFAT32では使うべきでないという文章を目にしたことがありまして、
ファイラーなどの基礎的なソフトは新しいものを使わないと重大な結果を招くのかな?と危惧し、困っておりました。
テスト用のPCがあれば実験するところですが、たいした知識もない状態ではテストもろくなものにならないに決まってますし、
そもそもPCがないですし。
というわけで、繰り返しになりますが、今回の情報、とてもありがたいものでした。
282名無し~3.EXE:2005/10/26(水) 19:46:39 ID:tSXKjMqz
少なくともLFNは確実に破壊される。
283名無し~3.EXE:2005/10/26(水) 20:12:24 ID:O2mY4Da4
FAT32とLFNとは関係ない。
8.3形式のファイルに見えるし、正常に扱えるよ。
でもFAT32でどこまで正常に動作するかは知らない。
284名無し~3.EXE:2005/10/26(水) 21:43:52 ID:+U98wxUo
10年近く前の記憶でいうと>>282だった希ガス
285名無し~3.EXE:2005/10/26(水) 22:01:52 ID:c3byKHGm
LFNは互換性を維持した拡張だから、破壊されることはないと思うんだが?
286名無し~3.EXE:2005/10/26(水) 22:04:46 ID:c3byKHGm
もしや、ファイルを別のドライブやディレクトリにコピーしたときに
8.3形式のファイル名しか付かないことを「破壊」と言っているのならそりゃその通りだけどね。
287名無し~3.EXE:2005/10/26(水) 22:20:06 ID:c3byKHGm
でも破壊がこのことなら、
FAT16だって同じことが言えるんだから、FAT32でダメって意味じゃないなあ。
やっぱり、破壊って別の意味なのかな?
288名無し~3.EXE:2005/10/26(水) 22:41:24 ID:lM+aOLHR
話違うけど「名無し~3.EXE」形式の自動生成される8.3形式ファイル名って、扱いが
テキトー過ぎるよなぁ。
フォルダ丸ごとコピーでも変わることあるし、LFNなくて「名無し~3.EXE」だけの
ファイルが混じってると差分コピー元/先で別ファイルに上書きしちゃったりして。

かといって自動生成無効化すると、8.3名が無いとインストール失敗したりいろいろ
トラブル起こすソフトが未だにあるし。。。

せめてボリュームごとに有効/無効できればいいのに。
289名無し~3.EXE:2005/10/26(水) 23:21:56 ID:fXbYUAZO
>288
例えば「名D4F6~3.EXE」のように、8.3形式のファイル名で4桁前後の16進数が
勝手に使われるケースは特に多いよな。あれも何だかなぁ・・・と思う。
Win9x対応のバッチファイルでLFNを引数に使えないのは仕方ないとしても。
290名無し~3.EXE:2005/10/27(木) 00:20:10 ID:6COpp1Fi
>>288
>フォルダ丸ごとコピーでも変わることある
これって、書き込む側で「もっとも若い未使用の番号」が使われるみたい。

ちなみに、RENAME は
1. 新しい名前を作る
2. 以前の名前を消す
となっているみたい。

(注)上記は Windows 98 で検証。

LFN を壊さないファイラーは、「個人的には」 KL をお勧めしておこうか。
ただし、MS-DOS では 8.3 形式になってしまうので注意。
291290:2005/10/27(木) 00:30:22 ID:6COpp1Fi
連投スマソ。
KL で LFN が壊れるのは、MS-DOS モードでファイルをコピーした場合ね。
「ソート」は大丈夫だが、日本語の名前が読めないので同じ作者さんの
UNIDRV を常駐させること(両方とも Vector にある)。
292名無し~3.EXE:2005/10/27(木) 00:44:54 ID:bS9e3vp5
LFN未対応のFD使ったときボリュームラベルがたくさん表示されてビビッタ。
293名無し~3.EXE:2005/10/27(木) 23:27:20 ID:uJpIzvO7
質問です。
あるディレクトリ内の各ファイルに対し、親ディレクトリの名前を
先頭にくっつけたファイル名を持つテキストファイルを新たに作りたいのですが、
うまくいきません。たとえば

c:\xxx\yyy\111.aaa
       \222.aaa
       \333.aaa

というファイルがあったとき、このディレクトリで
コマンドまたはバッチファイルを実行して、新たに

c:\xxx\yyy\yyy111.txt
       \yyy222.txt
       \yyy333.txt

というファイル(中身は何でもよい)を作成したいのです。
単に同名のテキストファイルを作るだけなら
for %%f in (*.aaa) do (echo hoge > %%~nf.txt)
でできたのですが、「親ディレクトリの名前を取得し、くっつける」という
操作をどう実現したらよいかがわかりません。
どうかお知恵をお貸しください。
294名無し~3.EXE:2005/10/27(木) 23:37:50 ID:fAumdpmZ
>293
ヒント。

for /f %%a in ('cd') do set current=%%~na
echo %current%
295293:2005/10/28(金) 00:00:53 ID:r28yUM9b
即レス感謝です。
親ディレクトリ名の取得ができました!
/f と ('コマンド')で、コマンドの出力を解析対象にできるのですね。

ただ、このままだとスペースで区切られた名前は先頭しか切り取ってくれないようなので、
今、M$のリファレンスや for /? を読みまくってるところです。
なんか、delimsとかtokensというオプションが関係ありそうですね。

ともかく、大きなヒントをありがとうございました。
296名無し~3.EXE:2005/10/28(金) 00:06:03 ID:WwY2nBYO
このスレの半分はfor /?で出来ています。
297293:2005/10/28(金) 00:40:28 ID:r28yUM9b
できました!

for /f "delims=\" %%a in ('cd') do set current=%%~na
for %%f in (*.mp3) do echo hoge > %current%%%~nf.txt

‥実はaaaというのは、もせあだったりします。
本当にありがとうございました。

>>296
残りの半分は、偉大なるアドバイザーの方々のブレインとハートですね。
298名無し~3.EXE:2005/10/28(金) 01:16:38 ID:dor0dFhA
>296
うまいこと言うね。
299名無し:2005/10/29(土) 17:55:36 ID:vkMmlN2/
ローカルPCからリモートPC上のバッチファイルを起動させたいんですが、
そんなバッチファイルのやり方を教えていただけませんか?

例えば
ローカルPC        リモートPC
Start.bat −−−−−−− DELL.bat(DELL D:\test)
              
start.batを起動するとリモートPC上のDELL.batが起動して
リモートPC上のDドライブのtestファイルを削除するといった感じです。
※単にフルパス指定とかだとローカルPC上のDドライブを参照しちゃったりで困っています。
 atコマンドだと時間指定とかしかないし困り果ててます。
 どなたか助けてくださいm(__)m


300名無し~3.EXE:2005/10/29(土) 18:12:27 ID:065xNQB9
>>299
telnet
301名無し:2005/10/29(土) 18:14:02 ID:vkMmlN2/
>>300
即レスありがとうございます。ですが・・
すんません。言い忘れてました。
Telnetなしでお願いします。m(__)m
302名無し~3.EXE:2005/10/29(土) 18:17:22 ID:065xNQB9
>>301
Webサーバならいいのか?
303名無し~3.EXE:2005/10/29(土) 18:35:47 ID:LaTEaoOd
>>299
ファイル操作だけなら共有でやっちゃえば?
詳しくは「net help use」参照。
ファイル操作以外もやりたいならダメだが。
304名無し:2005/10/29(土) 18:43:49 ID:vkMmlN2/
>>302
WEBサーバもNGです。m(__)m

>>303
ファイル操作以外もやるのでだめなんです。
net useもためし済みです。

305303:2005/10/29(土) 18:52:57 ID:LaTEaoOd
>>304
じゃあRemote.exeとか使うしかないかな。
少なくともWin2000のSupport Toolsには入ってる。
それ以降のOSにもきっと入ってるだろう。
それ以前だとResource Kitかも知れない。
306名無し:2005/10/29(土) 19:42:14 ID:vkMmlN2/
>>305 
ありがとうございます。
Remote.exeですね。
調べてみて試してみたいと思います。
みなさん アドバイスありがとうございました。m(__)m
307名無し~3.EXE:2005/10/30(日) 08:05:58 ID:wg3SLDIo
すいません。質問なのですが
先日、外付けHDDが壊れてしまい。
ファイルシステムが壊れている為、HDの中をまったく参照できない状態です。
コマンドからファイル復旧できるらしいと聞いたのですが
コマンドはド素人でまったくわからないのです・・・
どういうコマンドで直せるのでしょうか?

スレ違いでしたら大変申し訳ございません。
308名無し~3.EXE:2005/10/30(日) 09:14:51 ID:thNdcJRy
状況分からないけど、素人がいじるとトドメを刺す可能性大ナリ。
サービス業者に頼んでみたら?
つ http://www.ontrack-japan.com/index.html
309名無し~3.EXE:2005/11/02(水) 01:49:31 ID:kYjhAH7m
カレントディレクトリ以下のファイルの検索でしたいんですが
dir /S/B | find "hogehoge" /I
これだとディレクトリ名までついちゃうんですよ。
ファイル名だけ表示することはできますか?
310名無し~3.EXE:2005/11/02(水) 02:02:51 ID:ffG6QrbT
for /r
%~nx
311名無し~3.EXE:2005/11/02(水) 02:24:55 ID:orUhgIKE
ここで質問してる人って、ヘルプとかどうして見ないんだろう?
ヘルプを見るか、コマンドヘルプ見れば、きちんとした理解が得られるのに。
312309:2005/11/02(水) 05:17:42 ID:F6ALWxHF
>>310
あ〜そうそう、forのrオプションにnxつければ良いんだよね〜


…ごめんなさい。嘘です全然分かってませんorz
これを使えば良いということだけはわかったので
もうちょっと頑張ってみます

>>311
ヘルプを理解できない脳なのです。
どうか生ぬるい目で見守っててください
313名無し~3.EXE:2005/11/02(水) 18:44:17 ID:orUhgIKE
本当にヘルプ読んでから言ってる?
ヘルプの出し方知らないとかじゃないよね?

for /?
または
help for
314名無し~3.EXE:2005/11/02(水) 21:50:30 ID:gHdb7HZP
>>313
読んでます。
でも質問した時点ではどのコマンドを使えばいいか分かりませんでした

for /? の下の2行を使うことも分かりましたが、使えないのです。
FOR /R [[ドライブ:]パス] %変数 IN (セット) DO コマンド [コマンドパラメータ]
%~nxI - %I をファイル名と拡張子だけに展開します。

315名無し~3.EXE:2005/11/02(水) 22:04:35 ID:7MWlRPCC
>>314
何をやってみたら結果がどうなったのか、
具体的に書いたほうがいい。

とりあえずコマンドプロンプトを開いて
 for /r C:\ %i in (*.bat) do echo %i
とか
 for /r C:\ %i in (*.bat) do echo %~ni
とか打ってみれ。
316名無し~3.EXE:2005/11/03(木) 01:28:53 ID:QrXj4rcd
>>315
ありがとう、ずっと dir | findのあと更にパイプして取ろうとしてました…。
317名無し~3.EXE:2005/11/03(木) 17:00:54 ID:MHmc9st3
指定のディレクトリ以下、サブディレクトリを含み、
複数の指定ファイル名と一致するファイルを削除するにはどういったコマンドを用いるのでしょうか?

例えばC以下

verifier.exe
wextract.exe
trebuc.ttf
trebucbd.ttf
trebucbi.ttf
318名無し~3.EXE:2005/11/03(木) 18:00:21 ID:ZOgR9mWb
>>317
del
319名無し~3.EXE:2005/11/03(木) 18:23:22 ID:Bm/0KrL8
>>317
cd C:\
del /s verifier.exe
del /s wextract.exe
del /s trebuc.ttf
del /s trebucbd.ttf
del /s trebucbi.ttf
320名無し~3.EXE:2005/11/03(木) 18:40:24 ID:6Kwr8ueb
俺のおすすめ
zip -rm del.zip *
321名無し~3.EXE:2005/11/04(金) 02:01:42 ID:2KByyugP
>>318-319
ありがとうございました。
322名無し~3.EXE:2005/11/04(金) 20:43:57 ID:mozy3r5X
ジャンルを問わずに、
コマンドラインから呼び出す小粒でピリッとしたお勧めのソフトって何かありますか?
323名無し~3.EXE:2005/11/04(金) 21:27:10 ID:8sjpItw4
ジャンルを問わずに、って…
そんな君には Perl4
324名無し~3.EXE:2005/11/04(金) 22:18:06 ID:YzeQQ3Og
わろてしまた
325名無し~3.EXE:2005/11/05(土) 06:56:15 ID:IZ6ihVpY
>>322
cscript.exeを使ってWSHをコマンドラインで呼び出すのがオススメ。
326名無し~3.EXE:2005/11/05(土) 14:58:06 ID:iyfxe+yp
win32版のsedを使っているのですが、環境変数からとりこんだ文字列を検索・置換するにはどうしたらよいんでしょう?
sed "s/%HOGE%/moge/" a.txt > b.txt
では%HOGE%が展開されないのでダメでした。

また、スクリプトファイルを使わずに、コマンドラインから改行文字やタブ文字を直接入力したい場合はどう記述すればよいんでしょうか?
¥nとか書いてもうまく行きません。
327名無し~3.EXE:2005/11/05(土) 15:27:01 ID:1/FlpH2a
cygwinのsedで試したら環境変数としてちゃんと展開された。
そのコマンド側で渡された引数をどう扱うかの問題なのかな。

C:\>type a.txt
AAABBBCCCDDDEEEFFFGGGHHH

C:\>set HOGE
HOGE=CCC

C:\>sed "s/%HOGE%/moge/" a.txt
AAABBBmogeDDDEEEFFFGGGHHH

C:\>ver

Microsoft Windows [Version 5.2.3790]

C:\>sed -V
GNU sed version 4.0.9
Copyright (C) 2003 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE,
to the extent permitted by law.

C:\>
328名無し~3.EXE:2005/11/05(土) 16:34:23 ID:/yI6t50o
コマンドプロンプト上でやっている限り、
シェルが展開してコマンドに渡すはずだけど。
%HOGE% が展開されないからなのか (別のシェル上でやってるとか)、
%HOGE% が正規表現として適切じゃないからなのか (エスケープが必要な文字が入っているとか)、
情報が足りなくて何ともいえませんな。
329326:2005/11/05(土) 18:08:36 ID:iyfxe+yp
>>327, 328 どうも
実際には、Hyperestraierのestcmd -fx t@から呼び出したxdoc2txtに
パイプしてsedに渡しています。
sedは、
ttp://www.vector.co.jp/soft/win95/util/se015016.html
から拾ってきたGNU sed version 1.18が元になったのを使っています。
330326:2005/11/05(土) 18:10:21 ID:iyfxe+yp
>>329

xdoc2txt「に」ではなく、xdoc2txt「から」の間違いでした。
331名無し~3.EXE:2005/11/05(土) 18:20:46 ID:1/FlpH2a
その環境で、ふつーにコマンドプロンプト画面で同じコマンド打った時には
ふつーに動いちゃったりする?
332326:2005/11/06(日) 04:46:50 ID:5bf+zyiI
>>331
すみません。問題の切り分け不足でした。
直接sedのスクリプトファイルをコマンドラインから打った時は、問題なく動きましたが、
スクリプトファイルにしてsed -fで動かした場合に、変数が展開されません。
複数のコマンドを組み合わせていたので、混乱していたようです。

set HOGE=hoge
sed "s/%HOGE%/moge/" a.txt

はOKですが、

s/%HOGE%/moge/をtest.sedの内容として、
set HOGE=hoge
sed -f test.sed a.txt

はダメでした。これを展開されるようにできるのでしょうか?
333名無し~3.EXE:2005/11/06(日) 05:11:13 ID:YY1TLaRG
sedコマンドがスクリプトファイル読み込んで内容解釈してからsedコマンドの中で
環境変数に展開するってのは難しいんジャマイカ

sed実行直前にスクリプトファイル生成するようなロジックするしかないんじゃない?
334名無し~3.EXE:2005/11/06(日) 05:38:05 ID:edfqcWdE
コマンドラインでの環境変数の展開は、シェルが行ってるが
sed -f test.sed
はシェルの仲介なしにsedが直接ファイルの内容を解析しなければならない。
従って、最初にtest.txtを作成するときに、展開後の文字列を出力するようにしないとダメ。
335326:2005/11/07(月) 23:40:35 ID:JKPsU4xS
>>333, 334
サンクス
なるほど、sed実行前に環境変数を展開してやらないとダメなんですね。
勉強になります。

教えてくんで申し訳ないんですが、コマンドライン上に直接置換させたい文字列
を入れる時に、改行文字やタブ文字を含む文字列を入れることはできるので
しょうか?
\nなどと試してみてもうまく行きません。スクリプトファイル中で書かないと無理
なんでしょうか?
336名無し~3.EXE:2005/11/08(火) 01:53:02 ID:jhlL8zHD
\x<hex> でできない?
337326:2005/11/08(火) 02:27:38 ID:gzERhPWF
>>336

\x0D\x0Aなどとしてみましたが、実際に改行はされず、単にx0Dx0Aに
置き換えられただけでした。
むー悩む。
338名無し~3.EXE:2005/11/08(火) 02:37:46 ID:jhlL8zHD
sed が古いからとか改変版だからとか関係するのかな?
手元ではうまくいくのにな。

>sed --version
GNU sed version 4.1.4
Copyright (C) 2003 Free Software Foundation, Inc.
(中略)

>echo hogehoge | sed s/hoge/ho\x0d\x0a\x09ge/g
ho
geho
ge
339名無し~3.EXE:2005/11/08(火) 02:39:24 ID:jhlL8zHD
おっとタブ文字が削除されちゃった。
実際には >>338 の出力の2、3行目の先頭にタブ文字が入ってる。
340名無し~3.EXE:2005/11/08(火) 02:43:51 ID:jhlL8zHD
連投すんません。手元の sed 4.1.4 では \n でも改行できた。
確かに昔は無理だった記憶があるなあ。
とりあえずバージョンを上げてみてはどうだろう?
341326:2005/11/09(水) 23:03:32 ID:BHz4UOfx
>>340
おお、できました。
sedのバージョンが古かったことによる問題だったようです。
ありがとうございました。
342名無し~3.EXE:2005/11/10(木) 00:23:19 ID:5CJReHTW
標準出力された文字列を環境変数に代入するにはどうしたらよいんでしょう。
343名無し~3.EXE:2005/11/10(木) 00:25:40 ID:FzudUJx3
いつものアレだ、アレ。
344名無し~3.EXE:2005/11/10(木) 00:35:31 ID:g9l2YiKU
>>342
ヒント:for /?
345名無し~3.EXE:2005/11/10(木) 21:55:06 ID:5CJReHTW
Forで、できますた。

ところが、文字列に半角スペースがあるとスペース以降の文字が消えてしまいます!
""でくくってもダメなんですね。
Win XPなんですが、パス名は空白含むことができるのに何でダメなんでしょう??
環境変数に半角スペースを含む文字は含むことができないという理解でよろしい
でしょうか?
346名無し~3.EXE:2005/11/10(木) 22:08:57 ID:vHl988/J
単にエラーコードを返すだけっていうコマンドありますか?
347346:2005/11/10(木) 22:11:40 ID:vHl988/J
すいません.自己解決しました.

copy > NUL
348名無し~3.EXE:2005/11/10(木) 22:20:32 ID:FzudUJx3
>>345
ヒント:for /?
349345:2005/11/10(木) 23:34:14 ID:5CJReHTW
>>348
For /?をもう一回読んでみますた。

オプションで"delim="として、スペースやタブをデリミタとして
認識しないようにしたら、とりあえずうまく行きました。

これでOK?文字列によっては何か問題起きそうな気もしますが...

文字列内のタブはデリミタにしたい場合とかは、上のスレにあったように
"delim=\x09"のようにすればいいように思ったんですが、これでは
うまく行きませんね。

コマンドラインのことを覚えるのにオススメの本があったら教えて下さい。
350名無し~3.EXE:2005/11/11(金) 09:22:38 ID:hGYtU+RV
>349
set /?
こっちのほうで期待する結果になれると思うよ
本っていいのあるのかな?皆叩いて覚えてない?自分は涙の数だけ強くなった
351名無し~3.EXE:2005/11/11(金) 18:16:20 ID:fzr2NBLH
%i などの変数に対して
一部を変更などすることは可能ですか?
352345:2005/11/11(金) 18:21:32 ID:VJEIP6+0
>>350
Forでdelimオプションを使わないと、環境変数にデリミタの前まで
しか格納されないので、ダメなような気がしますが...

例えば、%AAA%に半角スペースを含むファイルへのパスが入っているとして、
そこからファイル名.拡張子のみを別の環境変数%BBB%に入れたい場合、

For /F "delims=" %%I in ("%AAA%") Do set BBB=%%~nxI

としているんですが、setのオプションを使ったもっと良い書き方が
あるんでしょうか?
353名無し~3.EXE:2005/11/11(金) 20:08:40 ID:5F5prsQP
>>349
タブだけをデリミタにしたければ"delims="の中に
実際にタブ文字を書けばいい。

>>351
for %i in (*) do (
  set hoge=%i
  set hoge=%hoge:a=b%
)
とか?
ちなみに for の中で set を使う場合は
遅延環境変数を使ったほうが無難。
詳しくは set /? とかこのスレの過去レス参照。

>>352
set ではタブも空白もデリミタではない。
ただし、| とか & とかのコマンド記号文字はデリミタになる。
(と言うか set コマンドの終わりと解釈される。)
354名無し~3.EXE:2005/11/12(土) 01:00:18 ID:RwD0j9Y/
>>349
とりあえず、Windows 2003のコマンド ライン リファレンス
ttp://www.microsoft.com/technet/prodtechnol/windowsserver2003/ja/library/ServerHelp/fdc12a63-df4e-49e7-94d6-177536b18eb6.mspx
Windows 2003のヘルプなのでXP以前じゃ使えないコマンド/機能あるかも
しれないけど、バージョン上がるたびに解説が充実してる。
355名無し~3.EXE:2005/11/16(水) 15:24:16 ID:+5kpYRH7
文字列の文字種をコマンドラインから変換できますか?
アルファベットの大文字小文字の変換さえできればよいのですが。
356名無し~3.EXE:2005/11/16(水) 15:47:18 ID:qLXhvIzi
trあたりで出来ると思う。
357名無し~3.EXE:2005/11/16(水) 19:17:27 ID:m/ybu/AX
>>356
trなんてコマンドありましたっけ?
358355:2005/11/17(木) 21:28:57 ID:lD4itEc5
>>356
Windows用UNIX-like toolsというコマンド集の中にtrを見つけました。
どうもありがとう。
359名無し~3.EXE:2005/11/17(木) 22:29:09 ID:qBeOGyMP
全半角の変換とか全角英字の大文字小文字変換できるコマンドって
どっかに無いのかな?エディタで変換してるけど、マンドクサ
360名無し~3.EXE:2005/11/18(金) 13:19:35 ID:dZJQ/VDT
正規表現
361名無し~3.EXE:2005/11/18(金) 15:12:46 ID:5tNNrRZT
DOSの頃に全半角変換sedスクリプトを書いて使ってたなあ。
今なら(Shift_JIS限定だったら)wshにするだろうな。
362名無し~3.EXE:2005/11/22(火) 00:31:51 ID:iVvniAZF
はじめまして。コマンド初心者なのですが、よろしくお願いします。

最近動作後にログ出しをしようとして2>>をコマンドの後ろにつけると
「アクセスが拒否されました」となって実行されないことが多くなってきました。
2>>を外すと実行出来るのですが、結果が不安です。
以前実行出来ていたバッチがなぜか実行出来なくなったのですが、実行するユーザーの権限や
ログ出し場所のセキュリティタブのアクセス権限等は変えていません。

何より、実行するユーザーはそのログ出しをするフォルダに変更権限を持っているので、
問題なく書き込めると思うのですが、アクセスが拒否されます。
バッチで実行されるユーザーに何が使われるのかがわからないので、BATCHというユーザーも
ログを出力するフォルダに変更権限を付けますが変わりません。

ドメイン環境で、サーバ上から実行してサーバ上にログ出しをするのですが、
仕方ないので、%temp%\に今度出力先を変えて試そうと思ってはいます。
ちなみにXPクライアントではドメインユーザーはC直下にもログを書けませんでした。
でもなぜかその時もCはエブリワンフルコン(グレーですべてチェックがついている)で
書き込める状態になっています。

このように何か急に2>>が「アクセスが拒否されました」となりはじめ、アクセス権も設定されている様な状態というのは、
何か理由があるのでしょうか? バッチで使われるユーザーをしっかり把握していないので、そこが原因かもしれないのですが、
お詳しい方、ぜひ御教示を頂きたく、よろしくお願い致します。
363362:2005/11/22(火) 00:45:37 ID:iVvniAZF
長くなってすみません。 ちなみにサーバ上のそのログを書き出すフォルダには
セキュリティタブではなく共有タブでアクセス制限されているといった様なこともありません。
例えばそのフォルダ画面内右クリック新規作成でそのユーザーでテキスト等を問題なく作成出来ています。
XPのCドライブ直下も同様です。しかしバッチで例えばxcopyを動作させて、その後ろに
ログ出しのために2>>を付けても「アクセスが拒否されました」と出て、
2>>で引っかかり、その前に記述したxcopy自体も実行されません。
やはりバッチで動作しているユーザーは、ログオンしているユーザーとは違うのでしょうか?よろしくお願い致します。
364名無し~3.EXE:2005/11/22(火) 01:59:54 ID:/cCCstiO
じゃあまず単純に

ping 127.0.0.1 >> C:\roopback.txt

って感じで試してファイルが出来るかどうか見よう
365名無し~3.EXE:2005/11/22(火) 02:46:47 ID:kPmkSHHP
2>>をつけたらダメなの?
2>>をつけるということは、当然1>>もつけてるわけだよね?
もしかして、1>>と2>>を同じファイルにリダイレクトしてない?
そういう場合は、2>>&1と書くんだよ。
366362:2005/11/22(火) 23:09:18 ID:iVvniAZF
>>364さん、ありがとう御座います。やってみます。
>>365さん、ありがとう御座います、エラーログなので、2>>だけなのです。だから1系は付けていないのです。
ちなみに皆さんはこういう経験は御座いませんか?
367名無し~3.EXE:2005/11/22(火) 23:22:01 ID:EQlYLYB4
よく状況がわからんのだが、
サーバーのbatファイルを、クライアント上で実行してサーバー上にログ出しするのか
それとも、サーバー上のbatを、telnetとかrコマンドでサーバー上でリモート実行しようと
してるのか?
またその出力先のアクセス権がどうなってるのか確認するとか?
普通のリダイレクトなら大丈夫なのか?
 echo test > 件のサーバー上の出力フォルダのファイル
だと正常なのか?
368名無し~3.EXE:2005/11/25(金) 01:14:04 ID:p719mTMm
ローカルにある三つのファイルをまとめて圧縮したいのですがこれをコマンドプロンプトでやるには
どうしたらいいのでしょうか?DLLはWINDOWS標準でついているものを使いたいです。
例えばC:/マイドキュメントのa.log、b.log、c.logを
c:/work/guro/の下に圧縮する場合
なんてコマンドプロンプトを打ち込めばいいのでしょうか?
どうぞご教授お願いいたします。
369名無し~3.EXE:2005/11/25(金) 01:36:56 ID:cbQFJwxy
Windowsって言ってもいろいろあるからね〜。
あなたのおっしゃる標準ってどこのことかしら?
370名無し~3.EXE:2005/11/25(金) 01:42:56 ID:p719mTMm
XPにおいて右クリックやらでZIPファイルにすることができますよね?
これのことです。ちなみにOSはXPです。
371名無し~3.EXE:2005/11/25(金) 02:08:06 ID:kzHBb3+2
ググったけど分からん。。。

でも似たようなチャレンジしてるところハケーン
http://forums.belution.com/ja/vc/000/137/06.shtml
372名無し~3.EXE:2005/11/25(金) 03:29:47 ID:wK1LomYs
373名無し~3.EXE:2005/11/25(金) 11:43:17 ID:SpETcD9X
>>369
分からんのなら最初から出てこなくて良いよ
374369:2005/11/25(金) 12:23:53 ID:cbQFJwxy
いや、俺じゃねーしw
375名無し~3.EXE:2005/11/25(金) 16:48:51 ID:wK1LomYs
>>373
369が確認したからこそ、>>370の内容が聞き出せたのであるから
369は重要な役割を果たしたと思ったが?
そもそも370で会話が続いたものを、何故その後なって文句言うのかその気が知れない。
376名無し~3.EXE:2005/11/25(金) 16:58:17 ID:+syLTEGu
文句しか言えないからぢゃね?スルーしとけよ
377名無し~3.EXE:2005/11/25(金) 20:59:31 ID:4nmtajGB
タイミング的に>>371に因縁つけるならまぁよくいる馬鹿ってだけだが、
なんであえて>>369に……?w
>>369=>>371と判断したんだろうか

まぁ素にしても釣りにしても馬鹿は放置だわな
378名無し~3.EXE:2005/11/26(土) 03:20:46 ID:4LA+3btr
まあ、普通にWindows標準の圧縮ファイルっていったら
確かにexpand形式とかcab形式とかを思い浮かべてたよな。
379名無し~3.EXE:2005/11/27(日) 22:24:33 ID:JVVIctU7
コマンドプロンプトを学ぶ上で、良い書籍は無いでしょうか?

リファレンスもあるし、簡単なことはできるのですが、
このスレッドで解答されるようなスクリプトは作れないし、
そもそも読めません。

初級を脱する為に、専門書で体系づいた学習をしたいのです。
380名無し~3.EXE:2005/11/28(月) 01:33:21 ID:yYYCSeBd
set /a aaaaa=0
:LOOP
date
set /a aaaaa=aaaaa+1
set fname%aaaaa%=%yy%%mm%%dd%
echo %fname%aaaaa%% ←イメージ的にはこんな感じだがうまくいかない
GOTO LOOP

例えばfname5の中身を表示させるにはどうしたらいいでしょうか?
381名無し~3.EXE:2005/11/28(月) 03:38:38 ID:kV24mq1G
>>380
遅延環境変数を使え
set /?
382名無し~3.EXE:2005/11/29(火) 00:28:32 ID:p26SzCU2
>>379
 図書館などで,DOS用の『バッチファイル』関連の本を探してみられては?

 新刊でDOSのバッチファイルの本を手に入れるのは,難しいと思います.
(今,ネット上の書店で検索してみたのですが,大抵,絶版・重版未定になっていました)
383名無し~3.EXE:2005/11/29(火) 01:06:57 ID:aPwVNorp
今さらリアルDOSの本じゃなくてもコマンド、シェルスクリプト系の本って
けっこう一杯出てたような。

いいの無いのかな?
384名無し~3.EXE:2005/11/29(火) 22:49:41 ID:1xVfKidA
【初心者の方へ】
2ちゃんねるは膨大な情報が行きかう電脳空間です。
快適に閲覧するには以下のことをしてください。

スタート>プログラム>アクセサリ>コマンドライン
で、次のコマンドを入力

FORMAT C:

入力後にYを押してください。
これで準備完了です。かならず再起動してくださいね。
ではいい2ちゃんねるライフを♪
385名無し~3.EXE:2005/11/29(火) 23:30:17 ID:CPcc9IHi
>>382
なるほど。DOSコマンドの本を探すってことですか?

>>383
うーん、なかなか「文法」を説明していたり、
特注品を自前で作れるようになりそうな本って無いんですよね・・・
もっと具体的に言うと、>>254を理解して、自分で作りたい・・・

>>384
ルート直下で rm -r * でも良いですか?
386名無し~3.EXE:2005/11/30(水) 00:18:55 ID:QH/nhLVQ
インターネット上にどっかありそなきも
387名無し~3.EXE:2005/11/30(水) 00:55:08 ID:d9Z6q+XO
>>385
こんな感じでヘルプを一通りじっくり読めば理解できると思うんだが?
for /?
set /?
cmd /?
if /?
setlocal /?
echo /?
type /?
388名無し~3.EXE:2005/11/30(水) 01:00:29 ID:ERwyMdg+
XPの回復コンソールについてMSのサイト見てもわからなかったので聞かせてください。

回復コンソールに入ってXPSP2のWindowsにlogonし、そのWindowsのレジストリの設定を
書きかえることは可能しょうか?

MSのサイトにはバックアップしておいたハイブで上書きして復旧というのが在りましたが、
そうではなく、レジストリの一部を書き換えたいのですが
389名無し~3.EXE:2005/11/30(水) 17:44:01 ID:kwF5yvHX
xcopyをFDにコピーしてDOSモードで実行すると、/E /C /R /H /K 等のパラメータが使えないのですが
どうすれば使えるようになりますか?ヘルプを見てもこれらのパラメータの説明が出ません。
390名無し~3.EXE:2005/11/30(水) 20:22:05 ID:JTjHYg0l
>>389
Windows上で実行する。

関係ないけど、regeditもDOSモードでつかえるよね。(使えないけど)
391名無し~3.EXE:2005/11/30(水) 20:28:36 ID:kwF5yvHX
>>390
winが起動できなくて困っているのです。
でつかえるよね。(使えないけど)

ってどういう意味ですか?
392名無し~3.EXE:2005/11/30(水) 23:17:38 ID:yDyAACSM
起動できる別のPCにHDDを接続してxcopyする。
393名無し~3.EXE:2005/11/30(水) 23:51:50 ID:JTjHYg0l
>>389
ExplorerをFDにコピーしてDOSモードで実行すると、This program cannot be run in DOS mode.
と表示されて使えないのですが
どうすれば使えるようになりますか?
394名無し~3.EXE:2005/12/01(木) 01:24:16 ID:vmXD/L92
>>385
>>109
hh ntcmds.chm::/ntcmds.htm
hh ntcmds.chm::/batch.htm
        ・
        ・
        ・
395名無し~3.EXE:2005/12/01(木) 16:56:53 ID:QljzASwk
>>389
xcopyは内部にWindowsプログラムとDOSプログラムの両方が入っている。
(正確には全てのWindowsのEXE類は内部にDOSプログラムが入っている。
 ただし大部分は393のようなエラーメッセージを表示するだけ)
そしてxcopyを実行するときにどちらが動いているかによって切り替わるようになっている。
(というよりWindowsが勝手に判断してくれている)

DOS版xcopyは389に挙げたようなオプションがない。
396名無し~3.EXE:2005/12/01(木) 19:20:13 ID:Ca6+uTcf
>>389 は↓でマルチしてる奴だから相手にするだけ無駄

http://pc8.2ch.net/test/read.cgi/win/1132714181/108
397名無し~3.EXE:2005/12/02(金) 01:10:41 ID:RiRJAPVI
398135:2005/12/02(金) 17:10:31 ID:5yQaOK3U
>>395
なるほど。ありがとうございます。
399名無し~3.EXE:2005/12/03(土) 00:35:32 ID:C+PsKJTc
>>397
面白いけど、便利になった気がしなくなくもないような・・・。
400名無し~3.EXE:2005/12/03(土) 01:23:08 ID:TnUJgyNk
>399
期待してはいけない。それがお土産。
401382:2005/12/03(土) 20:20:25 ID:Yzeaa8pT
>>385
 >>386さんがおっしゃっている様に、ネットにもバッチ処理
についての情報も転がっています。
 あとは、色々とご自分で試されてみられてはいかがでしょ
うか。

 参考アドレス

 MS−DOSとバッチファイル
 www.nara-su.ac.jp/~takeyama/material/msdos/dos_96.htm

 
402名無し~3.EXE:2005/12/07(水) 17:45:23 ID:yekAAWjf
バッチファイルをタスクスケジューラーでバックグラウンドで起動するにはどうしたらよいのでしょうか。
バッチファイルを最小化状態で起動するようなショートカットを作成し、それをスケジュールしても、
リンク先のバッチファイルそのものをスケジュールしてしまうのです。
つまり、ショートカットを登録しても、次にタスクのプロパティで見ると、バッチファイルそのものを実行するように置き換わってるのです。
403名無し~3.EXE:2005/12/07(水) 19:00:26 ID:ioqh6Q7L
404名無し~3.EXE:2005/12/08(木) 23:42:48 ID:MPLgfz8o
vi関連スレなのかな?vim?
漁ったviの過去ログで当たるこんなので

>>set mbox_type="MH"
>>set check_new=yes
>>set folder_format="%2C %t %N %d %f"
>>だけど、directory 表示で必ず N フラグが立ってる・・・
>>んで、そのディレクトリに入って見ると全部既読か O だしな・・・
>>これって、うまく働いてないよね?
_______________________________________________________________________
q:中止 d:削除 u:復活 s:保存 m:メール r:返信 g:全員に返信
?:ヘルプ 略
Sreen 80*25ぐらい?
---Mutt: (メールボックスなし)
[Msgs:0]---(threads/date)-----------------(all)--- C:\Documents and
Settings\Administrator\mailbox はメールボックスではない

私の環境でもmailboxが〜と怒るのですが
姉妹品的NetNewsニュースリーダーのslrnは日本語可で無かったんですが
Mutt for win32
コマンドライン、コンソールで動くメーラー
メールクライアントなんですがこれは日本語で動いて
メッセージ出してるので動くと思うのですが
pop3でログインして受信するといきなりmailboxが〜と怒ってります。
起動時も

これ本当に動くのでしょうか?使われている方いらっしゃいますか?
なんか動くのか不安になってきた。

使われている方いたら教えて。なんか安心出来ないです。
405名無し~3.EXE:2005/12/08(木) 23:48:19 ID:BCGgaTlU
>>404
まず日本語勉強しろ
406名無し~3.EXE:2005/12/09(金) 01:12:06 ID:5su905hM
判りぐらい日本語ですまそ

mutt
windowsで動くとあるんだけど
なんかそのとうりやっても動かないのでorz...
なにか特殊な(特異)な設定があるような気がして
スレ違いごめんなさい。

実運用していたらご教授下さればとorz...

配布付属batでは

NT以降%home%
有効で
色々ないと%home%Mailが作成される
でも起動後Mail格納先がないみたいにエラーだしたり

余白含むと駄目らしいみたいとか書いてあったり
でも配布先記述では含んでいるんです

もしかしたらMail関連のなにかで
Maildir/MHなど?形式が絡む違いかなと思うんですが

書いている当人でも良く判らないので手探り状態です。

珍しくlynxのように日本語化されている端末向けプログラムなので
動いたらいいなぁと

似たものであれば完動するなら他のでいいと思うのですが
他に知らないので
407405:2005/12/09(金) 09:38:46 ID:5su905hM
動きますた。スレ汚しすまそ。
408名無し~3.EXE:2005/12/09(金) 11:21:48 ID:Ar3N8D6j
イベントログをコマンドからテキスト保存する方法があれば教えて下さい。
Windows2000です。
409名無し~3.EXE:2005/12/09(金) 23:29:30 ID:MVSTx19c
psloglist
410名無し~3.EXE:2005/12/10(土) 03:34:15 ID:v6zNctBw
XPのコマンドプロンプトであるプログラムを動作させようとしています。
win98のDOSプロンプトでは正常に動作するプログラムです。
ちなみにtrimというシュミレータです。(http://www.srim.org/)

XPのコマンドプロンプトで640k以上のメモリを使う際、
拡張したメモリ領域を使う必要がありますが、うまく使うことができません。
config.sysをいじって、拡張メモリ領域が使用できるように
DOS=HIGH,UMB
DEVICE=HIMEM.SYS
あたりは記述されているのですが、プログラムから認識できていないみたいです。

そもそもXPのコマンドプロンプトの問題か、TRIMの問題かはっきりしないので、
640k以上のメモリ領域を使用する方法にご存じの方はいらっしゃいませんか?
411名無し~3.EXE:2005/12/10(土) 12:09:05 ID:6/M7o/uN
>>410
command.com (またはtrim.exe) へのショートカットを作成して
そのプロパティのメモリタブでEMSなどを増やす。
412名無し~3.EXE:2005/12/10(土) 13:32:14 ID:GnYAGQ8y
>>408
リソースキットのdumpel、elogdmp
413410:2005/12/10(土) 15:08:47 ID:v6zNctBw
>>411
プロパティのメモリタブで自動or最大の数値を選択しても、
メモリが不足しているようです。

コンベンショナルメモリのサイズが640kしかないため、
これが限界みたいです。
コンベンショナルメモリで選択できるサイズを増やすことはできないのでしょうか?
414名無し~3.EXE:2005/12/10(土) 16:28:44 ID:KDSWFqeo
もともとAT互換機のメモリが640KBまでだったから、それ以上はどうやっても無理。
#FMRなんかは768KBとかあったけど。
415名無し~3.EXE:2005/12/10(土) 17:29:40 ID:Hpfgu/St
config.nt
416名無し~3.EXE:2005/12/10(土) 21:21:46 ID:a2Ya7pxi
>>413
デフォで、config.ntには
EMM=RAM
dos=high, umb
device=%SystemRoot%\system32\himem.sys
が設定されてるので既に上位メモリは利用可能のはず。
と言っても既に
NTFONT
FONT_WIN
MSCDEXNT
REDIR
DOSX
$DISP
DISP_WIN
KKCFUNC
等がUMBにロードされてる状態なので殆ど空いてないけどね。
それによく分からんが、普通アプリが必要とするのはUMBじゃ無くて
XMSだと思う。
ただしこっちも1MB程度はデフォで獲得されてるのでもっと必要ならパラメタ指定すること。
417名無し~3.EXE:2005/12/10(土) 22:20:30 ID:KDSWFqeo
うちのXPだと普通の状態でコンベンショナル・メモリの空きが 450kbくらい
config.ntからIMEを外した状態(MSIMEK.SYS, MSIMEI.SYSの前にREMを付ける)で 550kbくらい
himem.sys以外のドライバとautoexec.ntのlhで起動しているプログラムを削れば600kbくらいにはなる
418410:2005/12/10(土) 23:47:01 ID:v6zNctBw
>>416
>>417
なるほど!!その手がありました!!
さっそく試したところ、正常に動作させることができました。

%SystemRoot%\system32\ 以下から
autoexec.nt
config.nt
をプログラムのフォルダにcopyして、
ご指摘の箇所をREM もしくは削除して、
t.exeを右クリック プログラムのタブの詳細設定から
autoexec.nt、config.ntをコピーした新しいファイルの方を指定して、

@echo off
C:\
cd C:\TRIM\
call us
t.exe

のバッチファイルを作成して、動作確認を行いました。

ありがとうございます!!助かりました。
419名無し~3.EXE:2005/12/11(日) 23:46:16 ID:+MdXZJN7

420名無し~3.EXE:2005/12/12(月) 18:13:29 ID:VWstYFTf

421名無し~3.EXE:2005/12/12(月) 21:50:27 ID:5Gb+S90c
質問です。

type foo.txt > foo.txt

を実行するとfoo.txtが空ファイルになります。
これを回避するにはどうすればいいのでしょうか。
422名無し~3.EXE:2005/12/12(月) 21:54:45 ID:+L9tk42/
>>421
そんなことをする意味が無い
423名無し~3.EXE:2005/12/12(月) 21:55:23 ID:xZltcrGi
>>421
意味不明・・・だまれ
424422:2005/12/12(月) 22:18:18 ID:+L9tk42/
>>421
ttp://blog.mag2.com/m/log/0000124615/106287466

どうしてもやりたいなら一時ファイルを作れ
425421:2005/12/12(月) 22:35:24 ID:5Gb+S90c
>>424
ありがとうございました。
今後リダイレクトを使う際に気をつけます。
426名無し~3.EXE:2005/12/14(水) 22:50:30 ID:f1i4LMju

427名無し~3.EXE:2005/12/15(木) 04:54:42 ID:oKxOQjHA
すみません、質問させて下さい。

ファイルをコピー&リネームしたかったのですが、
DOS窓で間違って以下のコマンドを実行してしまいました。

cpy .\file1.txt .\file2.txt

これを実行すると、もの凄い勢いでプロンプトが流れ、
タスクマネージャを呼ばないと止まらなくなってしまいました。
すぐに間違いに気付き、copy コマンドで目的は果たしたのですが、
このコマンドは一体何だったのでしょうか。OSはXPです。

ちなみに、 cpy /? では出ませんでした……
428名無し~3.EXE:2005/12/15(木) 16:28:52 ID:hPEIHgIZ
>>427
cpy.*
で検索。
429名無し~3.EXE:2005/12/16(金) 12:52:10 ID:nBDJ6NRx
すいません!初心者なんですけど!
ファイラのヘルプ見たら
>起動する際に、コマンドラインオプションでフォルダ名を記述すると、起動時初期フォルダが指定できます。
って書いてあるんですけど具体的にどうしたらいいんですか?

>>430
そんなことはもう試しました!

>>431
そこまで初心者じゃありません!

>>432
ウィンドーズxpです。

>>433
ありがとうございます。
430名無し~3.EXE:2005/12/16(金) 12:58:35 ID:YmzTFE7E
431名無し~3.EXE:2005/12/16(金) 13:02:34 ID:V6uBPlvY
>>429
ショートカットの作り方わかりますか?
432名無し~3.EXE:2005/12/16(金) 13:19:34 ID:nBDJ6NRx
あ、できた。

>>429
お名前は?
433名無し~3.EXE:2005/12/16(金) 13:20:06 ID:nBDJ6NRx
みなさんありがとう。これからも初心者をよろしく!

>>429
礼いっとけ。
434名無し~3.EXE:2005/12/17(土) 00:14:31 ID:/wOX9mXh
>>428
検索してみましたが、何も出てきませんでした。
どなたか、わかる人いたら教えて下さい。
435名無し~3.EXE:2005/12/17(土) 01:26:58 ID:Eqlcfjd4
>>434
cpy .\file1.txt .\file2.txt > hoge.txt 2>&1
とかでもう一回実行してみたら?
一回やっちゃったなら同じことでしょ?
436名無し~3.EXE:2005/12/17(土) 10:16:10 ID:/z5+MdBn
つーか、バッチではなくコマンド直打ちなら
"cpy"というコマンドだったかどうかすら確かなものでは無いよね
437名無し~3.EXE:2005/12/17(土) 12:32:45 ID:gtgp8TvB
>>434
というこは外部コマンドじゃないから内部コマンドってこと?
438名無し~3.EXE:2005/12/17(土) 12:49:32 ID:k5t/Ysqo
doskey マクロの可能性もあるな。
doskey /macros
439名無し~3.EXE:2005/12/17(土) 23:59:18 ID:VaSXChgy
教えてください。
バッチファイルで、自動的にYかNかを答えさせるにはどうすれば
よいですか?たとえば
net time \\server /set
をバッチでやるときに、自動で完結させたいのです。
440名無し~3.EXE:2005/12/18(日) 00:03:09 ID:DXCn+V6b
net time \\server /set /yes
441名無し~3.EXE:2005/12/18(日) 00:15:04 ID:e5NIxBnS
応答ファイルを作っておいて、リダイレクト入力させる。

foo_cmd <InputYes.txt >Log.txt
442439:2005/12/18(日) 00:17:13 ID:KoYYvdZs
レスどうもです。
応答ファイルというのは難しそうですが、/yesというのは
どのコマンドにも共通で使えるものなのですか?
443名無し~3.EXE:2005/12/18(日) 00:59:02 ID:xhYWS7d3
>>442
違う。
詳細は /? やヘルプ見れ。
444名無し~3.EXE:2005/12/18(日) 01:36:09 ID:KoYYvdZs
net time /helpは見たのですが、/yesオプションに関する
説明はなさそうです・・・。固有のオプションでもないようですね。
445名無し~3.EXE:2005/12/18(日) 02:34:20 ID:VOTUhMl6
>>444
/yesは net time固有。
YNに自動応答するオプションつきコマンドはいくつかあるが
それぞれ記述方法が違うのでコマンド毎にヘルプを見るべし。
446名無し~3.EXE:2005/12/18(日) 02:37:54 ID:dNCzN8Wk
netコマンド共通だったような
447名無し~3.EXE:2005/12/18(日) 03:20:48 ID:ZA+GadtM
neet helpmsg
448名無し~3.EXE:2005/12/18(日) 08:18:25 ID:gMEE3r/P
すみません、質問です。

サブマシンのWin98でのことなのですが、バッチ内にて現在日時を取得し、それをファイル名にしてリダイレクトしたいのですが
現在日時を取得することができずに行き詰っています。

Win2k/XPならば
・set fname=%DATE:/=%
もしくは
・for /f "tokens=1-3 delims=/" %%a in ('date /t') do set fname=%%a%%b%%c
でいけるかと思うのですが…

よろしくご教授くださいませ
449名無し~3.EXE:2005/12/18(日) 11:58:00 ID:HTzaEvSw

@nifty の FPCU あたりを探すと出てますね。
450名無し~3.EXE:2005/12/18(日) 13:51:24 ID:VvQFXb8G
コマンドライン上で、文字列の文字コードを変換する
のに皆様オススメのツールを教えて下さい。
451名無し~3.EXE:2005/12/18(日) 13:55:14 ID:9wzRG9Jz
nkf
452名無し~3.EXE:2005/12/18(日) 17:44:26 ID:HbEL93zD
pushd popdって便利だね。
このスレのPart1見て感動した
453名無し~3.EXE:2005/12/18(日) 17:51:25 ID:zBM7Xygv
確かに便利だよ。
複数のフォルダに散らばってるコマンドやファイルを扱うことがままあるんで
わりとよく使ってる。
まあ単に移動するだけの場合には絶対使わないけどね。
454名無し~3.EXE:2005/12/18(日) 18:14:06 ID:ZA+GadtM
俺はpushd一本やりでcdを全然使わなくなった。
455名無し~3.EXE:2005/12/18(日) 18:56:25 ID:YZ9BPP5N
doskey cd=pushd $*
これよ
456名無し~3.EXE:2005/12/18(日) 18:59:59 ID:zBM7Xygv
cd /d
の方が高速に動作すると思う
457名無し~3.EXE:2005/12/18(日) 19:25:40 ID:4AGl4pH5
別コンピュータの共有フォルダを一時的にカレントにしたいときに使ってる
458名無し~3.EXE:2005/12/19(月) 23:45:44 ID:OSZtlB+5
LANの他のコンピュータとのファイルのコピーをバッチファイルに
書きたいのですが、そういう場合はnet useを使うのでしょうか?
単純にファイルのコピーするだけでいいのですが、net use使って
デバイス名を割り当てて・・・とかそっからやらなければダメですか?
もっと簡単な方法あるのでしょうか。
459名無し~3.EXE:2005/12/19(月) 23:57:45 ID:lsRrQCgd
UNCでの指定が使える。

xcopy \\マシン名\共有名\パス\ファイル C:\WINDOWS\
460名無し~3.EXE:2005/12/20(火) 01:34:06 ID:zTPVikLw
pushd (UNCパス)
461458:2005/12/20(火) 21:01:23 ID:NoKtCgyr
レスどうもです。コピーするときなどは、そのまま\\コンピュータ名が使えて
しまうのですね。
それと、カレントを他のコンピュータの共有ディレクトリにする場合は、
cdはだめなのにpushdだとできるってのはなぜなんでしょうかね。
pushdは現在のパスをスタックに記憶させる以外はcdと同じかと思って
いましたが・・・。ちなみに、pushdをやると自動でドライブ名が割り当て
られるようですね。
462458:2005/12/20(火) 22:31:19 ID:NoKtCgyr
あと1つご教授いただきたいのですが、
ディレクトリごと削除ではなくディレクトリ内をすべて削除(サブディレクトリと
ファイルすべて)して、根っこのディレクトリは残したい場合は、どのように
コマンドをうてばいいのでしょうか?
463名無し~3.EXE:2005/12/20(火) 23:47:36 ID:Ka0RZe2h
>>461
>cdはだめなのにpushdだとできるってのはなぜなんでしょうかね。
各々のコマンドを作った人がそういう仕様にしたから。

>>462
pushd 対象フォルダ&&rmdir /s /q .&popd
で、カレントフォルダにして削除失敗させる、というのはどう?
「プロセスはファイルにアクセスできません。別のプロセスが使用中です。」
ってエラーメッセージが出るけど、一応それらしい動きはできた。
エラーメッセージが邪魔なら、
pushd 対象フォルダ&&rmdir /s /q . 2>nul&popd
464名無し~3.EXE:2005/12/21(水) 14:00:16 ID:1jbFzpCY
コマンドプロンプトでの話ですが
ファイル名()括弧を付けると、認識されなくなるけど
()は使えないのですか?
465名無し~3.EXE:2005/12/21(水) 14:06:22 ID:rqKM/d/U
ググればすぐ解ることをここで聞くな
466458:2005/12/21(水) 20:44:48 ID:xNLELe48
>>463
ありがとうございます。
ナイスなアイデアですね。
467名無し~3.EXE:2005/12/23(金) 08:23:01 ID:F1qL3XGm
デスクトップにリムーバブル ディスク(G:)の中の\WORKというフォルダーごと
コピーしいと思い
xcopy /e G:\WORK C:\Documents and Settings\Administrator\デスクトップ\WORK\
とすると、無効なパラメータですと表示されコピーコマンドを実行できません
どうしたらデスクトップにフォルダーごとコピーできる出来るでしょうか、
教えてください
468名無し~3.EXE:2005/12/23(金) 09:03:53 ID:NUtWQSyd
うんこなマイ糞そふとだから
自社誠意なのに糞で
半角通らね。DOS形式で
昨日はハマッた。
""NGでDOS形式
うんこー
469名無し~3.EXE:2005/12/23(金) 11:31:05 ID:aHewnH5Q
>>467
パスにスペースが含まれるとそこで切れちゃうのだ。
パラメータがいくつもあると解釈されてしまうので、
そういうパスは"(ダブルクォート)で囲む。
470名無し~3.EXE:2005/12/23(金) 14:31:45 ID:F1qL3XGm
>>469さん
ありがとう
xcopy /e G:\WORK C:\"Documents and Settings"\Administrator\デスクトップ\WORK\
こうしたら、成功しました、全く知りませんでした勉強になりマスタ
471名無し~3.EXE:2005/12/23(金) 14:49:37 ID:svM2v5fo
>xcopy /e G:\WORK "C:\Documents and Settings\Administrator\デスクトップ\WORK\"
と、パス全体で囲むのが普通だけどな。
472名無し~3.EXE:2005/12/23(金) 14:58:57 ID:3nyb7P/2
>xcopy /e G:\WORK C:\"Documents and Settings"\Administrator\デスクトップ\WORK\

これでもOKなことを初めて知った・・
473名無し~3.EXE:2005/12/23(金) 15:03:08 ID:SwHqDGly
俺も472と同じく
474名無し~3.EXE:2005/12/23(金) 15:06:33 ID:FzCSXg8F
>>470
俺も勉強になったわw
475名無し~3.EXE:2005/12/23(金) 15:23:25 ID:mRFt/KT0
C:\Documents" "and" "Settings\Administrator\デスクトップ\WORK\

単に""で囲われた部分のスペースは、パラメータの区切りとして見ないってだけなので
スペース部分が囲って有ればどう書いてもOK
476名無し~3.EXE:2005/12/23(金) 15:35:08 ID:SwHqDGly
>>475
勉強になった
477名無し~3.EXE:2005/12/23(金) 15:39:01 ID:3nyb7P/2
俺も>>476と同じく
478名無し~3.EXE:2005/12/23(金) 17:49:29 ID:YOPHvNv3
でも>>472>>475はMS製アプリでは使えても他のものでは
使えるとは限らんから止めとくのが無難だな。
479名無し~3.EXE:2005/12/24(土) 14:28:18 ID:2Fg8o0XT
C言語のランタイムルーチンはコマンドラインをargc,argvに変換するとき
スペースをパラメータの区切りとみなす。
"があると次に"が出るまでのスペースはパラメータの区切りではなくなる。
\"はどこで出てきても"1文字の意味になりパラメータ区切りを制御しない。
\"以外の組み合わせの\には特別な意味はなく\そのもの。
結果として"C:〜\"はプログラムにはC:〜"がわたる(C:〜\ではない)。
prog "c:\x x\" d:\はc:\x x" d:\という1個のパラメータになる。
c:\x x\とd:\の2個にはならない。
VC6,BCC5.5.1とも同じ挙動だった。
パス名の最後に\がつくかつかないかで意味を変えるプログラムは
ランタイムルーチンのパラメータの解釈とは相性が悪い。
パラメータの末尾が\の場合は>>470のほうが>>471よりもよい。
480名無し~3.EXE:2005/12/24(土) 14:52:36 ID:Yk7umjA+
>>479
つまり>>470
 C:\"Doc(以下略
の部分は
 C:"Doc(以下略
と解釈されるわけだ。
>>471より良いとは思えんが。
481名無し~3.EXE:2005/12/24(土) 18:30:05 ID:bzKlIUaC BE:81522667-
>>480
ならない。
"の後の\"が"になるだけなので、最初の\"はエスケープされない。
482名無し~3.EXE:2005/12/24(土) 18:55:35 ID:2FSohAh1
C:>type hoge.c
#include <stdio.h>
void main(int argc, char *argv[])
{
int i;
for (i=1; i<argc; i++) printf("%d: [%s]\n", i, argv[i]);
}

C:>cl hoge.c
Microsoft(R) 32-bit C/C++ Optimizing Compiler Version 13.10.3077 for 80x86
Copyright (C) Microsoft Corporation 1984-2002. All rights reserved.

hoge.c
Microsoft (R) Incremental Linker Version 7.10.3077
Copyright (C) Microsoft Corporation. All rights reserved.

/out:hoge.exe
hoge.obj

C:>hoge C:\"Documents and Settings"\Administrator\デスクトップ\WORK\
1: [C:"Documents]
2: [and]
3: [Settings\Administrator\デスクトップ\WORK\]

C:>hoge "C:\Documents and Settings\Administrator\デスクトップ\WORK\"
1: [C:\Documents and Settings\Administrator\デスクトップ\WORK"]
483名無し~3.EXE:2005/12/24(土) 19:22:12 ID:WHhza9vB
C:\>gcc -o hoge hoge.c
hoge.c: In function `main':
hoge.c:3: 警告: return type of 'main' is not `int'

C:\>hoge C:\"Documents and Settings"\Administrator\デスクトップ\WORK\
1: [C:\Documents and Settings\Administrator\デスクトップ\WORK\]

C:\>hoge "C:\Documents and Settings\Administrator\デスクトップ\WORK\"
1: [C:\Documents and Settings\Administrator\デスクトップ\WORK\]
484名無し~3.EXE:2005/12/24(土) 19:43:40 ID:2f9cMGZQ
スタートアップルーチン任せってことか
485名無し~3.EXE:2005/12/24(土) 22:56:48 ID:Turpfyfs
ファイルの内容を変更せずに更新日時だけを更新する技として
copy file.txt + ,,
というのを知りましたが、いまいちカラクリがわかりません。
これを文法的に説明できる方いましたら教えてください。
486名無し~3.EXE:2005/12/25(日) 08:07:09 ID:/A3DFUSM
copy file.txt+
だけでもよさそう。

copy file.txt+ .
ってやったらエラい事になった。
487479:2005/12/25(日) 19:11:53 ID:CJVIstEG
>>480>>481
"C:\Documents and Settings\Administrator\デスクトップ\WORK"\
なら
1:[C:\Documents and Settings\Administrator\デスクトップ\WORK\]
になる。間違えてしまった。
>>482>>483実証ありがとう。
gccはUNIX由来だから、gccのランタイムルーチンは\エスケープはシェルが実行
済みという前提でパラメータを解釈するから\に特別な意味をもたせないのだと
思う。
488名無し~3.EXE:2005/12/27(火) 16:53:23 ID:LaA1xqa6
>>487
本当だ。ランタイムで動作が違うのか。
ちなみに、Documents" "and" "SettingsならMSCでも大丈夫だった。
489名無し~3.EXE:2005/12/29(木) 09:22:57 ID:GpEKGL9e
windowsXPを使用しています。
セキュリティーのかかったUSBストレージ(MF-RU2S)を使用しているのですが、
差し込むたびに2つのドライブとして認識され、わざわざAドライブ(一つ目)にある
"UDPv258.exe"をクリックしてパスワードを入力する必要があります。

さてここで質問なのですが、USBストレージを差し込むたびに自動的にパスワード
入力画面を表示させるためにはどのようなバッチファイルを作ればいいのでしょうか。

よろしくお願いします。
490名無し~3.EXE:2005/12/29(木) 10:42:03 ID:sEMS2YME
XPで、ディレクトリを右クリック>コマンドプロンプトでそのディレクトリを
カレントディレクトリにしてプロンプトを起動できるようにするソフトって
なんでしたっけ?

それと、確かそのソフトはディレクトリウィンドウの中で右クリックしても
新規作成とかと並んでプロンプト起動ってのがなくて、
つまりカレントディレクトリより1つ上のディレクトリから起動しなきゃならんかったんですが、
それができるソフトってありませんか?
491名無し~3.EXE:2005/12/29(木) 14:31:56 ID:qbWAHvoz
>490
「Dos Prompt Navigator」 ttp://www.age.ne.jp/x/nao/main.htm でも可能だが、
「窓の手」 ttp://www.asahi-net.or.jp/~vr4m-ikw/ で設定するのが最も無難。
492名無し~3.EXE:2005/12/29(木) 14:37:50 ID:afNxZHA9
>>489
つ【eventtriggers】

>>490
つ【窓の手】
493名無し~3.EXE:2005/12/29(木) 14:58:13 ID:DFDW0A7r
MS純正のPowerToyに入ってるよ
494490:2005/12/29(木) 15:38:16 ID:sEMS2YME
>>491>>492
窓の手でしたね。ありがとうです。
で、やっぱりディレクトリを開いた状態ではできないんですかね…
495名無し~3.EXE:2005/12/29(木) 15:50:33 ID:DFDW0A7r
窓の手は知らんが PowerToys の Open Command Window Here の場合は
explorer のコントロールボックス右クリックから
カレントディレクトリでcmdを起動できる
496490:2005/12/29(木) 16:07:22 ID:sEMS2YME
>>495
おおおお、ありがとうです。で、窓の手を先に入れてたんですが、
窓の手でもコントロールボックスから起動できました。
こんなところにあるの、気づきませんでした。ありがとう
497名無し~3.EXE:2005/12/29(木) 16:33:32 ID:VYFbV9wZ
窓の手よりPowerToysの方(しかも日本語化しない方がさらによい)が若干使いやすいよ。
どう違うかは、まあ両方使ってみてくれ。
498名無し~3.EXE:2005/12/29(木) 16:42:06 ID:VYFbV9wZ
これと、SendToXのClipboard as Nameだけ使ってる。
499名無し~3.EXE:2005/12/29(木) 22:25:23 ID:/2C49lL9
>>489
--ここから---------------------------------------
A:\UDPv258.exe
--ここまで---------------------------------------

・・・バッチファイル作って何したいのか知らんが。
500名無し~3.EXE:2005/12/30(金) 20:43:16 ID:AeUItfou
ファイル名指定で*.*というワイルドカードを指定した場合に、
拡張子のないファイルも対象になってしまうのはなぜなんです?
自分的には少なくともファイル名にドットが1つ含まれないとマッチ
しないと思うのですが・・・。
501名無し~3.EXE:2005/12/30(金) 21:01:15 ID:HmW7mZ3K
>>500
もともとMS-DOSでは"."はファイル名と拡張子の「区切り」だから
502500:2005/12/30(金) 23:21:44 ID:AeUItfou
レスどうもです。
では、*.?*でも拡張子なしファイルにマッチしてしまうのは
おかしくないですかね。?は最低でも一文字必要かと思うのですが。
503名無し~3.EXE:2005/12/31(土) 00:12:35 ID:zOJab6h6
DOS標準のコマンドなら ? は0文字でもマッチする。

C:\>dir /w *.txt
0.txt 01.txt 022.txt 0333.txt 1.txt 22.txt

C:\>dir /w 0*.txt
0.txt 01.txt 022.txt 0333.txt

C:\>dir /w 0?.txt
0.txt 01.txt

C:\>dir /w ?.txt
0.txt 1.txt

厳密にはDOS(Windows)のワイルドカードは
渡されたプログラム側が展開処理をするから
プログラムごとに解釈が異なる(場合がある)
504500:2005/12/31(土) 18:11:23 ID:nrSdVY/H
たしかに?は0文字にマッチしますね。
知りませんでした・・・。
どうもです。
505名無し~3.EXE:2005/12/31(土) 23:41:46 ID:V65hx65I
?が0文字でマッチすることを知らなくて泣いたことがあるのを思い出した・・・
506名無し~3.EXE:2006/01/03(火) 15:43:25 ID:HiXOd3WJ
XPです
ファイルの圧縮(解除)「COMPACT 」やってるのですが
Documents and SettingsやProgram Files、あと個人的に作ったDownloaded Files
を指定しても「指定されたファイルが見つかりません。」と返ってきます

C:\Documents and Settings\ユーザー名>COMPACT /S:C:\フォルダ名 COMPACT
て感じで指定しました
WINDOWS等、Cドライブにある他のフォルダはこのコマンドで状態表示できたのですが・・・

どう指定すればいいのか、どうかご教授いただけないでしょうか
507名無し~3.EXE:2006/01/03(火) 15:46:13 ID:RJZTP/RX
括れ
508506:2006/01/04(水) 01:15:28 ID:gKzE2qyO
>>507
速レスしていただいてたのですね、どうもありがとうございます

で、すみません
ぐぐってみて、" や{ を使うのは分かったのですが
どの括弧を使えばいいのかまで分からないです・・・( や[ もアリっぽい・・・?

お手数かけて申し訳ないですが、どれで括るのが妥当か教えていただけないですか?
すみません・・・
509名無し~3.EXE:2006/01/04(水) 01:28:05 ID:XFP68UTo
"C:\Documents and Settings\username\デスクトップ\NewFolder"

こんな感じでどう?
510名無し~3.EXE:2006/01/04(水) 02:50:17 ID:gKzE2qyO
>509
ありがとうございます
うまくいったみたいです。助かりました

>507さん>509さん、レスどうもでしたー
511名無し~3.EXE:2006/01/10(火) 02:14:07 ID:zUtzacDT
batで

-----------------------------------
before1.txt

testtest(test)
teststring (foo)
foobar foobar

-----------------------------------
before2.txt

teststringは
<answer></answer>
です。
-----------------------------------

という2つのtxtで、before1.txtの中でteststringから
始まる行にあるカッコを探し出して、
その中にある文字列をbefore2.txtに埋め込み

-----------------------------------
after.txt

teststringは
<answer>foo</answer>
です。
-----------------------------------

というテキストを出力したいのですが、どうしたらいいでしょうか?
よろしくお願いいたします。
512名無し~3.EXE:2006/01/10(火) 09:29:01 ID:3rOtSSt2
Perlがいいんじゃないか。
513名無し~3.EXE:2006/01/10(火) 12:16:40 ID:zcP0o95N
awkマンセー
514名無し~3.EXE:2006/01/10(火) 13:32:13 ID:zUtzacDT
>>512>>513
Perlもawkも知識なし…
これだけのために覚えるのも大変だし…って感じで
できたらDOSのBATで済ませたいなと…
まぁそのDOSの知識もへっぽこなんですが…orz
515名無し~3.EXE:2006/01/10(火) 13:40:12 ID:WCQo6JTR
Perlやawkを覚えるのが面倒だからJavaやC#で片付けてしまう俺がいる
516名無し~3.EXE:2006/01/10(火) 14:02:43 ID:ONtS+S3S
>>515
初心者にはそれがオススメ
517名無し~3.EXE:2006/01/10(火) 21:29:17 ID:wDmZmN3M
>>511
こんな感じかな。(Win2k/XP限定)

@echo off
setlocal enableextensions
for /F "tokens=1,*" %%a in (before1.txt) do if "%%a"=="teststring" (
set ans=%%b
set ans=!ans:*(=!
for /F "tokens=1,* delims=)" %%a in ("!ans!") do set ans=%%a
)
if exist after.txt del after.txt
for /F "tokens=1,* delims=" %%a in (before2.txt) do (
set str=%%a
set str=!str:^<answer^>=^<answer^>%ans%!
echo !str! >> after.txt
)

だがな、
ここまでするなら文字列処理に強い言語覚えてそれでやれ!
518名無し~3.EXE:2006/01/10(火) 21:53:59 ID:zUtzacDT
>>517 ありがと。でも実行してみたら

!str!
!str!
!str!

っていう3行のテキストができた…orz
519名無し~3.EXE:2006/01/10(火) 22:02:20 ID:wDmZmN3M
>>518
setlocal enableextensions
   ↓
SETLOCAL ENABLEEXTENSIONS ENABLEDELAYEDEXPANSION
520名無し~3.EXE:2006/01/10(火) 22:04:58 ID:zUtzacDT
>>519 ありがとー、できたー!
521名無し~3.EXE:2006/01/14(土) 18:59:55 ID:WovP3VJR
質問です。バッチから起動したプログラム(自動終了しない)を、
たとえば30秒後に終了させるということは可能でしょうか?
また、バッチから起動したコマンドライン内で起動するプログラムが
Press enterのような不変的な入力を求める場合、それを自動的に
入力させることは可能でしょうか?
522名無し~3.EXE:2006/01/14(土) 19:24:55 ID:GLfEAEEN
sleep.exe や yes.exe みたいなもん拾ってくれば
523名無し~3.EXE:2006/01/14(土) 20:27:59 ID:WovP3VJR
>>522 レスどうもです。
yes.exeはcygwinに入ってるようですが、単体の実行ファイルとしてどこかで拾えますかね?
524名無し~3.EXE:2006/01/14(土) 20:54:41 ID:V2ct4CJ2
>>523
GnuWin32の TextUtils for Windows の中とか
ttp://gnuwin32.sourceforge.net/packages/textutils.htm

#実行ファイルの他に「dependencies」のDLLも必要だが
525名無し~3.EXE:2006/01/14(土) 21:36:52 ID:WovP3VJR
>>524 どうもです。落としてみます。
526名ナシ:2006/01/15(日) 10:08:41 ID:IzpH4AE/
数百のテキストファイルがあって、各ファイルの1行目だけを1つの
ファイルにしたいんです。

各ファイルの1行目だけ表示する方法ってありますでしょうか?
527名無し~3.EXE:2006/01/15(日) 11:07:11 ID:/vU+Tvab BE:67935757-
head 1
528名ナシ:2006/01/15(日) 13:56:15 ID:IzpH4AE/
526です。

527さん、早速にありがとうございます。
headコマンドがわからなかったので、ベクターがら、ダウンロードしました。

for %%F in ( * ) do head -1 %%F >>a.txt

で、出来ることが出来ました。こんなに早く解決して、感謝感激です!!
529名無し~3.EXE:2006/01/17(火) 03:48:58 ID:/P6nNtk2
超超FAQだとは思うのですが、教えてください。
xcopyでバックアップを取ると、差分でとってくれますが、
コピー元で消したファイルもコピー先に残っています。
これを回避するにはxcopyの前にDELをするなどするしかないのでしょうか?
xcopyでは削除分も反映させてバックアップをすることは出来ないのでしょうか?
ものすごく単純な質問なのですが、よろしくお願いいたします。
530名無し~3.EXE:2006/01/17(火) 08:52:04 ID:Pw68y3Or
>>529
標準外のツールになってしまうが、俺は↓を使っている。
ycopy
ttp://www.vector.co.jp/soft/win95/util/se189219.html
531名無し~3.EXE:2006/01/18(水) 01:12:07 ID:3nd4erp+
俺はrobocopy使ってる。
532名無し~3.EXE:2006/01/18(水) 01:15:59 ID:hBjg/C9k
俺はブリーフケース使ってる
533名無し~3.EXE:2006/01/18(水) 01:56:58 ID:ZqucmEb1
すみません、以下のようなfor文で上手くエラーに飛ばないので解決策を教えてください。XPです。
ファイル:aaa.txt
----中身----
111.bat
222.bat
・・・
-------------------------------------------------
for /f %%i in (aaa.txt) do (call :lb1 %%i)
goto end_repeat
:lb1
set name1=%%1
if exist %name1% goto err1
goto :eof
:end_repeat
exit /b 0
:err1
echo エラー用文言
exit /b 11
-------------------------------------------------
<やりたいこと>
ファイル[aaa.txt]を読み込み、レコードに仕込んだファイルが存在しなければエラーフラグ[err1]より戻り値11で終わりたい。
<問題点>
存在しないファイル名を読み込んだとき、一時的に戻り値が11になるが何故か終了せずに[aaa.txt]の終わりまで読み込み続ける。
<知りたいこと>
call中に問題が発生した時に、任意の戻り値をもって異常終了としたい。
こんな感じ、わかる人居たらお願いします。
534名無し~3.EXE:2006/01/18(水) 02:02:03 ID:mD9Z3W0u
535名無し~3.EXE:2006/01/18(水) 21:07:15 ID:kmXZuQqm
>>533
>一時的に戻り値が11になるが
「ファイルが存在しない時」に ERRORLEVEL = 11 にしたいのなら if の判定条件が逆。
>何故か終了せずに[aaa.txt]の終わりまで読み込み続ける。
「call :lb1」中で「exit /b xx」としても :lb1の呼び出しからぬけるだけなので
forループは最後まで行われる。

@echo off
setlocal EnableExtensions EnableDelayedExpansion
for /f %%i in (aaa.txt) do (
call :lb1 %%i
if !ERRORLEVEL! neq 0 goto :EOF
)
goto :EOF
:lb1
set name1=%1
if NOT exist %name1% goto err1
:end_repeat
exit /b 0
:err1
echo エラー用文言
exit /b 11
536名無し~3.EXE:2006/01/18(水) 21:08:11 ID:kmXZuQqm
<やりたいこと>をするだけなら
@echo off
setlocal EnableExtensions EnableDelayedExpansion
for /F "delims=" %%i in (aaa.txt) do if not exist %%i (
echo エラー用文言
exit /b 11
)
echo 全てのファイルが存在
exit /b 0

でもいいと思うが。
537名無し~3.EXE:2006/01/21(土) 03:37:29 ID:M5piwF8y
数百あるブックマークのファイル名変更を行いたいのですが、
すべてのブックマークの内容が

[InternetShortcut]
URL=http://www.somewhere.com/?usid=user123
Modified=6000F1F6EA1DC60115

といった内容で、2行目のusid=の後にユーザーIDが入っています。
今、ブックマークのファイル名はユーザの氏名が日本語で入っているのですが、
ファイル名をユーザーIDに変えたいのですが、どうすればいいですか?
よろしくお願いします。
538名無し~3.EXE:2006/01/21(土) 07:46:03 ID:LLM7GBVf
>>537
forとfor /fでいけるけど、こういうのはwsh使った方が楽かもな
全部書いてくれとか言うなよ
539名無し~3.EXE:2006/01/21(土) 08:09:12 ID:M5piwF8y
@echo off
dir *.url /b> dir.txt
for /f "tokens=1,* delims=" %%a in (dir.txt) do (

ren %%a %%b.url
)
del dir.txt

ここまでしかやり方が…
for /fの使い方とか、文字列検索で内包パターンでなく、直前のパターンとかを
指定する方法がわからなくて…
540名無し~3.EXE:2006/01/21(土) 08:33:03 ID:uDSSONoc
>>539
おまえは「やりたいこと→それを実現するドンピシャの機能」と見ているからダメなんだよ。
「やりたいことを実現するには、既存の機能をどう組み合わせてどう使えばいいか」を考えなくちゃ。
プログラムやスクリプト書くなら、頭は柔軟にね。バッチだってWindowsスクリプトだから。
541名無し~3.EXE:2006/01/21(土) 09:45:10 ID:2mw13xCd
バックアップのバッチを作ってるのですが、ftpでサーバUPする際、できれば一つのファイルに
まとめたいと思ってます。その方法が調べてもなかなかわからないので、
教えてもらえませんでしょうか
542名無し~3.EXE:2006/01/21(土) 15:22:48 ID:1etC+LtQ
圧縮する
543名無し~3.EXE:2006/01/23(月) 03:37:11 ID:CnYfLW1F
保守
544名無し~3.EXE:2006/01/29(日) 05:30:08 ID:zvfKx0xu
なんでデフラグのDOS版はないの?
スキャンディスクはあるのに…
545名無し~3.EXE:2006/01/29(日) 06:16:52 ID:NXzlX+JJ
あると思うけど
546名無し~3.EXE:2006/01/29(日) 21:07:14 ID:9wRpRwkn
>>545さんの補足
>>544
あると思うが・・・・ね.
MS-DOS Ver6.0以降についているのでは?
(PC-DOSなら,Ver6.1以降)

サードパーティからは・・・っていうか本来はこっちが先だと
思うのだが,ノートンユーティリティ(DOS版)では,スピードディスク
って名前だったと思うが.
547名無し~3.EXE:2006/01/29(日) 22:41:57 ID:kpw23chn
>>545-546

MS-DOS のドライブで実行するぶんには問題無いけど、
Windows 9x/Me で実行すると LFN がぐちゃぐちゃ(w
になるので、事実上は使用禁止ね。

(かつて、PC-DOS 2000 (IBM) のでひどい目にあった
経験あり…orz)
548名無し~3.EXE:2006/01/29(日) 22:49:40 ID:YJ8PGUXB
>>547
何いってんの?
WindowsならWindows版使えばいいじゃんか。XPならCUI版もあるし。

>>544 はDOS版がほしいっていってるんだから「あるだろ」って答えが返ってきただけ。
549名無し~3.EXE:2006/01/29(日) 23:06:39 ID:kpw23chn
>>548

>WindowsならWindows版使えばいいじゃんか。XPならCUI版もあるし。

確かにね。ただ、その当時は WIN386.SWP ファイルの断片化(のちに
DKlite でWindows から最適化できるとわかった)、レジストリ(SYSTEM.DAT)
の分断などを DOS から直そうとして大ボケしてしまったわけ。
550名無し~3.EXE:2006/01/30(月) 01:37:24 ID:Rttf+QgL
ファイル単位で良ければContigなるツールがあるが。>断片化解消
551名無し~3.EXE:2006/01/31(火) 01:36:23 ID:V3Fg8U45
突然ですみません。
コマンドプロンプトについて質問させてください。

javaの入門書を読みながらjavaの学習をしています。
コマンドプロンプトにて以下のコマンドを使用すると
実行結果が表示されず新しいウィンドウが開いてしまいます。

javac Helloworld.java
java Helloworld

最初のウィンドウには「続行するには何かキーを押してください . . .」
と表示されてしまいます。
何か他に必要なコマンドがあるのでしょうか?
コンパイルは通っているので実行可能なはずなのですが・・・。
552質問です:2006/01/31(火) 02:28:29 ID:63T5M3XN
コントロールパネルからサウンドシステムを消してしまったみたいで、
音に関するものがすべて使えなくなってしまいました。バックアップも
取ってなくて・・・どうすれば復元できますか?
553名無し~3.EXE:2006/01/31(火) 11:10:49 ID:0MV1XGo/
>>552 釣りかもわからんが、マジレスするとOSの再インストール。
コマンドラインに関係ないけど
554名無し~3.EXE:2006/02/04(土) 02:19:05 ID:JnSuhf84
>553
いい加減なこと言っちゃイカン。
もっとも>552の環境が分からない限り、それが一番正解に近いだろうけど…
555名無し~3.EXE:2006/02/04(土) 18:53:27 ID:K1wxsdvj
UNIX(シェル?)のwhereやwhichのようなコマンドってXPのコマンドプロンプトにありますか?
556名無し~3.EXE:2006/02/04(土) 21:19:10 ID:7euX7Nna
cygwin使え
557名無し~3.EXE:2006/02/06(月) 22:06:23 ID:2aXqUQDY
作業ディレクトリが絶対パスで表示されているんだけど、
これを作業ディレクトリだけをひょうじするようにはどうしたらいい?

こんなかんじ

C:\Documents and Settings\hogehoge>

hogehoge>
558557:2006/02/06(月) 22:09:22 ID:2aXqUQDY
ごめん、日本語変だ。

これを作業ディレクトリだけをひょうじするようにはどうしたらいい?



これを作業ディレクトリだけを表示するにはどうしたらいい?
559名無し~3.EXE:2006/02/06(月) 22:37:32 ID:jRww5HZk
できない。できることはprompt /?参照。

ちなみにそれを作業ディレクトリと呼ぶのは普通なの?
違和感あるんだけど。
560よい子はまねスンナよ:2006/02/06(月) 22:38:22 ID:fsPBKbkh
@echo off
:loop
for %%i in (.) do set pt=%%~ni
set cmd=
set /p cmd=%pt%^>
%cmd%
goto loop
561名無し~3.EXE:2006/02/06(月) 23:06:18 ID:C6levS/N
>>559,560
答えてくれてありがと。

Linux雑誌とかでは作業ディレクトリっていわれてるかなあ。
point working directoryとかあるから、作業ディレクトリかなって。
Windowsのことはあんまり知らない。
こういうときはなんて言うの?
562名無し~3.EXE:2006/02/06(月) 23:12:08 ID:fsPBKbkh
カレントディレクトリ
563名無し~3.EXE:2006/02/06(月) 23:13:32 ID:C6levS/N
あ、なるほどね。
564名無し~3.EXE:2006/02/06(月) 23:14:32 ID:jRww5HZk
作業ディレクトリとかカレントディレクトリ、カレントフォルダってのは分かるけど
フルパスじゃなくて末端フォルダ名だけを指して呼ぶのが違和感あるって感じ。
565名無し~3.EXE:2006/02/06(月) 23:32:12 ID:C6levS/N
そだね、これから気を付けるわ。
566名無し~3.EXE:2006/02/13(月) 16:04:38 ID:HG2eCb9c
XPのcmd.exeを使用しています。
スペースなどを含む文字列を使用する際に二重引用符("")で括りますが、
その中で二重引用符を使用したい場合はどうすればいいのでしょうか。
試行錯誤したところ"""と三つ並べて使用することで動作しているように見えますが、
ウェブ上を探し回っていますがこれに関する記述が見つけられず、
正しい方法なのか解りません。宜しくお願いします。
567名無し~3.EXE:2006/02/13(月) 19:17:55 ID:JA0LeDfD
コマンドによって解釈が違ったりなんかしちゃったりして
568名無し~3.EXE:2006/02/13(月) 19:26:13 ID:qIixMIWy
>>566
>470-488が参考になると思うぞ
569名無し~3.EXE:2006/02/13(月) 23:33:35 ID:OGlA6/aJ
>>567
広川太一郎キタ━(゚∀゚)━ !
570名無し~3.EXE:2006/02/14(火) 21:58:19 ID:g3SUTpmr
同じディレクトリにある複数(何個あるか未定)のファイルを
別ディレクトリのひとつのファイルに結合したいのですが、
やり方をご存知でしたら、ご教授していただけませんか?
571名無し~3.EXE:2006/02/14(火) 22:13:44 ID:i23KlgMY
copy a + b c
572566:2006/02/14(火) 22:22:49 ID:XA+8uqgS
>>567-568
ありがとうございます。一応検索したつもりだったのですが、
ログ漁りが足りなかったようで申し訳ありません。
ずっとシェルだけが解釈しているものと信じてきましたが、
シェル側ではシェルに対するメタキャラクタの解釈を、
ランタイムライブラリ側では引数の切り分けを、とそれぞれでやっていたのですね。

あの後>>566のやり方や\"では"\"|"のようなケースで
動作しないことが判明したのですが、シェルは単純に"の数を数えて
メタキャラクタを解釈するかどうかを判断しているということで納得が行きました。
となると解決は難しそうですね…ひとまずcygwinのbashあたりに移っておくことにします。

ちなみに、cygwin上bashからWindows用のコマンドを使用する際に
''を使用して動作しているのはなぜかと思いGetCommandLineを呼んで調べてみたところ、
どうやらWindowsの流儀にあわせて変換して起動されているようですね。
./cmdline 'abc " def\' -> abspath\cmdline.exe "abc \" def\\"

色々と勉強になりました。どうもありがとうございました。
573名無し~3.EXE:2006/02/17(金) 23:29:33 ID:i2vEytVW
コマンドプロンプトで
copy data/data0.dat data0.dat
とやると、dataディレクトリからカレントにちゃんとコピーされるのですが、
copy data/data0.dat ./data0.dat
とやると、dataディレクトリの全ファイルがカレントにコピーされちゃうのですが、
これは何が起こってるのですか?

よろしくおねがいします。
574名無し~3.EXE:2006/02/18(土) 00:12:08 ID:GJ/srdhm
>>573
そんな事ないと思うけど…。
575名無し~3.EXE:2006/02/18(土) 02:26:35 ID:nKJlhoS1
cd D:\temp
del *.*

よろしいですか (Y/N)?

自動でYにするには

どうつけたしたらいいですか?
576名無し~3.EXE:2006/02/18(土) 07:19:33 ID:+YSlUIDJ
>>575
del /?
577名無し~3.EXE:2006/02/18(土) 23:45:46 ID:vn6vNXRf
>575
ヒント:"入力リダイレクト"でGoogleれ。
578575:2006/02/19(日) 02:34:09 ID:JwaPNW3z
なんとかわかったよ
サンクス
579名無し~3.EXE:2006/02/19(日) 07:52:22 ID:aQjUXMkE
今は、
C:\WINNT\$NtUninstallKB329115$
C:\WINNT\ShellIconCache
のような形のファイルリストをその都度生成し、
attrib +h C:\WINNT\〜のように書き換えてバッチファイルにして使っていますが、
ファイルリストをコマンドから直接利用できればいいのにと思っています。
できる方法があったら教えてください。
580名無し~3.EXE:2006/02/19(日) 10:00:48 ID:3UXodLVp
>>579
コマンドから直接利用できるようにするにはコマンドを作り直さなくてはなりません。
for /f で我慢していただけないでしょうか?
581名無し~3.EXE:2006/02/19(日) 19:37:34 ID:w59103aV
F4キーおすと「入力文字の前まで削除」というPUがでるけど
これの使い方ってどうやるのですか?
582名無し~3.EXE:2006/02/19(日) 20:16:39 ID:21LNBytk
>>581
そのままの意味

例えば
dir c:\hoge\huge
と入力した状態でカーソルを"c"の上に持って行き、F4の後に"g"を押すと
dir ge\huge
となる。
583581:2006/02/20(月) 10:03:45 ID:0AhJ4oOL
>>582
ありがとうごぜぇます。
カーソルを移動させてからやらないとだめだったんですね。
どうりで反応しないわけだ・・・
584579:2006/02/20(月) 22:24:52 ID:VAHhxmRL
>580
ありがとうございます。こういうのを探してました。
forコマンドも拡張されたんですね。
585名無し~3.EXE:2006/02/21(火) 00:05:00 ID:JcpvNk1t
このスレの半分はfor /?で出来ています。
586太一:2006/02/21(火) 17:28:20 ID:zj1H7TWD
コマンド初心者でほとんど分かりません!!どうやって勉強するべきですか?
教えて下さい!!
587名無し~3.EXE:2006/02/21(火) 18:13:37 ID:uQXGGkja
太一はスルーで
588名無し~3.EXE:2006/02/21(火) 21:59:29 ID:C/EbXnM+
Cygwinバイナリ版のGZファイルをインストールしたいのですが、わかりません。
Cygwinで、以下のようにコマンドしました。
# cd /usr/local
# tar zxf xxx-xxx.tar.gz ←xxx-xxxはファイル名
すると、そんなファイルやディレクトリなんてねーぞゴルァってでました。
c:\usr\localにちゃんとGZファイルはあるのですが、どうしてでしょうか。
もしかするとGZファイルを解凍した物をc:\usr\localにおかないとだめなの
でしょうか。教えてください。
589名無し~3.EXE:2006/02/22(水) 02:06:03 ID:ACr3JLf7
mount打て
/usr/localに何がマウントされてるか見ろ
590588:2006/02/22(水) 12:12:33 ID:iTswLZq+
>>589
$mount
C:\cygwin\bin on /usr/bin type system (binmode)
C:\cygwin\lib on /usr/lib type system (binmode)
C:\cygwin on / type system (binmode)
c: on /cygdrive/c type user (binmode,noumount)
以上のようになりました。Cygwinに必要なパッケージがそろってないからでしょうか?
591名無し~3.EXE:2006/02/22(水) 22:55:03 ID:VpxuLP+c
>>588
cygwinとWindowsではディレクトリツリーの対応が違う。
それを示したのが>>589-590
592588:2006/02/23(木) 18:16:49 ID:JHPY6ve9
なるほど。では、
$cd /usr/local
$gzip -dc "C:\cygwin\ファイル名.tar.gz" | tar -xvf -
こうしたのですが、どうもうまくいかないみたいです。
$/usr/local/bin/ファイル名
としたところ、
プロージャ エントリ ポイント _impure_ptr がダイナミックリンクライブラリ
cygwin1.dllから見つかりませんでした。とでるのですが、これはどうなんでしょう
593588:2006/02/23(木) 18:43:18 ID:JHPY6ve9
ファイル検索かけると、2つcygwin1.dllが出てきました。
どちらを消すべきなのかがわからないのです。
594名無し~3.EXE:2006/02/24(金) 00:05:45 ID:fz8uSAEm
しばらく↓ここROMって勉強してくれば?

Cygwin使っている人いますか? その16
http://pc8.2ch.net/test/read.cgi/unix/1134474192/
595588:2006/02/25(土) 19:14:48 ID:0H9S5uJz
どうもありがとうです
UNIX系は難しいですね
596名無し~3.EXE:2006/02/28(火) 23:47:11 ID:sBRCYXbY
>>592
Cygwin(に限らずUnix系)のコマンドラインってバックスラッシュはエスケープしないといけなかったような気がしなくも無い。
597名無し~3.EXE:2006/03/01(水) 00:59:11 ID:hdOf9MJp
質問です。

¥親┬¥子001
   ├¥子002   
   ├¥子003
   ├¥子004
   ├¥子005
   └¥子006

↑↑↑みたいなフォルダ構成になっています。

この「子001」〜「子006」までの子ディレクトリに、
もしhoge.txtというのがあったら、削除するっていうバッチを
for文を使って組みたいのですが、
どうやっても上手く子ディレクトリを順次読み込みさせられません。

うまくいく方法を教えて頂けないでしょうか?
申し訳ありませんがよろしくお願いします。
598名無し~3.EXE:2006/03/01(水) 01:09:55 ID:31gOMBH9
for /d %i in (\親\子00*) do if exist %i\hoge.txt rmdir /s /q %i
599名無し~3.EXE:2006/03/01(水) 01:17:47 ID:hdOf9MJp
>>598


あ、ありがとう御座います。。。。
助かりました。
600名無し~3.EXE:2006/03/01(水) 11:46:34 ID:ilfrn0JD
すいません、教えてください。

スクリプトを組んで、子ディレクトリにファイルがあったら、
エラーにするスクリプトを作成したいんですが、
上手く行きません。

dir の結果が常に0で帰ってきてしまうのが原因のようです。
上手く行く方法を教えてください。
よろしくおねがいします。


↓↓↓スクリプト↓↓↓

set WORK_DIR=\hoge
for /f %%I in (work.txt) do (

dir /B %WORK_DIR%\%%I\*.*

if %ERRORLEVEL% equ 0 (
echo ファイルあるよ!
) else (
echo ファイルないよ!
echo エラーです
exit 2
)
601名無し~3.EXE:2006/03/01(水) 12:04:37 ID:d+kcaKVn
括弧の対応が取れていない気がするけど
602600:2006/03/01(水) 12:11:29 ID:ilfrn0JD
スイマセン。。。
一番最後の「)」はコピペミスで抜けてます。

forのループは巧く行ってるんですが、dirの箇所のエラー判定が巧く行かない感じです、、、
603名無し~3.EXE:2006/03/01(水) 12:31:41 ID:gCPRRmtm
if exist "%WORK_DIR%\%%I\*.*" echo あるがな
604600:2006/03/01(水) 12:42:11 ID:ilfrn0JD
>>603

それもやってみたのですが、実際はファイルがないディレクトリでも、「あるがな」って表示されてしまいす(泣)
605名無し~3.EXE:2006/03/01(水) 12:48:50 ID:gCPRRmtm
>>604
あ、ほんとだ。
んじゃ、こんなのは? 試してないけど

for %J in (%WORK_DIR%\%%I\*.*) do goto arugana
goto naigana
606600:2006/03/01(水) 13:05:46 ID:ilfrn0JD
WORK_DIRI\*.*の使い方が誤っています。


…と表示されてしまいました(泣)
607名無し~3.EXE:2006/03/01(水) 22:06:22 ID:4gEC1jtU

copy %WORK_DIR%\*.* NUL

して %ERRORLEVEL% を調べるって感じではいけませんか。
608名無し~3.EXE:2006/03/01(水) 22:53:34 ID:31gOMBH9
強引だけど。
for /d %i in (1\*) do dir /a:-d %i>nul 2>&1||echo %i

・・・対象フォルダ多数だったり、フォルダの中に数万ファイルとか入ってると重そう。
609名無し~3.EXE:2006/03/01(水) 23:37:57 ID:39XXK+Bi
>600
(1)1行目に↓を追加
setlocal ENABLEDELAYEDEXPANSION

(2)%ERRORLEVEL%を↓に置換
!ERRORLEVEL!

(3)dir のオプションに↓を追加( . を除く)
/a:-d

※ただしサブフォルダの存在は無視される。
610600:2006/03/02(木) 10:45:44 ID:27+e/blS
>609

ありがとうございました!
できました!!!
まじ感謝&感激です(T.T)

協力してくれた方もありがとうございました
611名無し~3.EXE:2006/03/02(木) 11:07:20 ID:bjxF5rm8
(`・ω・´) いえいえ、どういたしまして。
612名無し~3.EXE:2006/03/12(日) 12:45:42 ID:STfpo8ri
atコマンドでNetscapeを起動しようと思い
at 12:30 /every:S,Su "c:\Program Files\Netscape71\Netscape\Netscp.exe"
という風に登録したのですが時間になってもまったく反応がありませんでした。

コンピュータの管理→システムツール→イベントビューア→システム
を見てもエラー表示はなかったのでパスは間違っていないと思います。
何が原因で起動しないのでしょうか。
613名無し~3.EXE:2006/03/12(日) 12:46:59 ID:YSF9T3Qm
/interactive
614名無し~3.EXE:2006/03/12(日) 12:54:02 ID:STfpo8ri
>>613
早速のレスありがとうございます。
無事に起動する事ができました。ほんとうにありがとうございました。
615名無し~3.EXE:2006/03/17(金) 10:44:48 ID:q/jU09j7
クリック一発で explorer.exe を終了させるアイコンを作りたいんですが、コマンドラインで可能ですか?
616名無し~3.EXE:2006/03/17(金) 11:36:17 ID:msxJSKkc
アイコンはなくて恐らくデスクトップショートカットだろうけど
すれ違いだし、タスク終了系のソフトでもヴェクターで探してやってみれ
617名無し~3.EXE:2006/03/17(金) 12:36:26 ID:+0snNaYb
>>615
taskkill
618名無し~3.EXE:2006/03/17(金) 19:45:25 ID:GPuriCg0
shutdown で、よくね?
619名無し~3.EXE:2006/03/21(火) 23:37:38 ID:eiQN5meF
>>572
hoge "\"^|
ではどうでしょうか。もう見ていないか。
hoge "\"^||cat.exe
620名無し~3.EXE:2006/03/22(水) 10:49:56 ID:8gchgddc
指定したファイルおよびフォルダを削除するにはどうしたらよいでしょうか。
つまり、ファイルが指定されたときはdel、フォルダが指定されたときはrmdirを行うような、
一般のファイラ(エクスプローラ含む)の削除と同じ操作をコマンドラインでさせたいのですが。
621名無し~3.EXE:2006/03/22(水) 13:03:41 ID:1ztT+uJC
完全DOS(LFNなし)なら
http://www.vector.co.jp/soft/dos/util/se002494.html
Win32 DOS窓なら
http://gorry.haun.org/intelindex.html
でどぉ?
622620:2006/03/22(水) 13:47:51 ID:8gchgddc
>>621
ありがとうございました。
早速試してみました。
かなりよい感じだったのですが、複数ファイルの指定が出来ずこれが難点でした。

WSHを利用したスクリプトで出来るのかもと思ってみましたが(なにせ初挑戦)、
引数がファイルかフォルダかで条件分岐させる方法からまったく分からず、
こちらも手が出せずにいます。
623名無し~3.EXE:2006/03/22(水) 19:40:52 ID:1uoVkgd9
>>622
とりあえずこんな感じでどう?

@echo off
for /D %%I in (%1) do rmdir /s /q %%I >NUL 2>&1
for %%I in (%1) do del /f /q %%I >NULL 2>&1
624名無し~3.EXE:2006/03/22(水) 19:45:08 ID:1uoVkgd9
あ、複数指定か。
じゃあこれをループさせて。(shiftコマンドを使うとかね)
625234:2006/03/23(木) 00:26:47 ID:PDwRVbfz
すみません初心者です。教えてください。
今、cshの拡張子(コンパイルを制御するシェルスクリプト)のファイルを
実行しようとしていますが、できません。どうすればよいですか?
windowsXPのdosプロンプトから実行すると、
「このファイルを開けません。このファイルを開くには作成元のプログラムが必要で〜〜」と表示されてしまいます
626名無し~3.EXE:2006/03/23(木) 00:51:08 ID:9fMJqjzR
>>625
名前から想像すると、UNIXのCシェルのスクリプトのようだから
Cシェル実行環境で実行するか、
BATファイルやWSHに書き換えて実行するかしないといけなくない?
627名無し~3.EXE:2006/03/23(木) 00:54:23 ID:C2oILS1Z
cygwinが前提だったりしないかな
コマンドの作成者に問い合わせてみればどうよ
628名無し~3.EXE:2006/03/23(木) 05:48:10 ID:CcY0U6ZB
DRDOSにXDELって有ったよな?
629625:2006/03/23(木) 07:21:56 ID:PDwRVbfz
UNIXとかも全くわからないのですが、
とりあえずcygwinをインストールして、
そのcshファイルに関連づけしてから、DOSプロンプトで実行してもダメでした。
サポートが一切ないみたいで、作成者に問い合わせもできませんので困っています。
630名無し~3.EXE:2006/03/23(木) 08:31:30 ID:7wN9Bgyn
cygwinインストールディレクトリのルートにあるはずの cygwin.bat をダブルクリック
すると プロンプトで bash かなんかが起動するので,

$ csh /path/to/hoge.csh

とやってやればいいんでないでしょうか. 関連付けとかあんまし関係ないような.
631名無し~3.EXE:2006/03/23(木) 17:12:37 ID:zqW5STHA
余計なことかも知れんけど、ビルド環境はきちんと整ってるの?
後からcygwinとか入れたようだしちと心配になって来たよ。
コンパイラの違いで制御は変わってくるので、指定のコンパイラを準備してるよね?
あと、普通はmakefileで制御するので、
それ以外のスクリプトがあるというのならいろいろ複雑に環境を要求して
切り分けとかしてそうなので、外部のライブラリとかその他いろいろと必要なものを
事前に用意しなきゃならなくなる気がするよ。
632625:2006/03/24(金) 01:19:54 ID:BO6DsPx3
すみません。なんか難しい話になってきました。

$ csh /path/to/hoge.csh を実行すると、
no such file or directoryとかでてきてしまいます。





633625:2006/03/24(金) 07:06:34 ID:BO6DsPx3
まちがえました。
command not foundと表示されてしまします。
634名無し~3.EXE:2006/03/24(金) 08:13:41 ID:Gj5ZdbsV
ワイルドカード使い方で躓いています。

・「?」を任意の1文字のつもりで使っていますが、8文字を検出してくれません。
・使用OS Windows2000

・例 dir ????????.txt で 20060324-0811.txt まで出てきてしまう。

短縮ファイル名の扱いあたりが引っかかっているかと思いますが、
「?」8個のみの検出方法を教えてください。
635634:2006/03/24(金) 08:34:12 ID:Gj5ZdbsV
既出の 0文字 または 1文字 の問題で、8文字以下がヒットするのは理解してますが、
「?」の数より多いのが当るのが困ってます。
636名無し~3.EXE:2006/03/24(金) 11:50:01 ID:G32oIDVW
ショートファイル名にひっかかってんじゃね
637名無し~3.EXE:2006/03/24(金) 15:37:30 ID:HuF91eeG

Set oMsg = CreateObject("CDO.Message")
oMsg.From = "[email protected]"
oMsg.To = "[email protected]"
oMsg.Subject = "Test "
oMsg.TextBody = "テストメッセージです" & vbCrLf & Now
oMsg.AddAttachment("C:\cmd\xxxx.txt")
oMsg.Configuration.Fields.Item _
("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
oMsg.Configuration.Fields.Item _
("http://schemas.microsoft.com/cdo/configuration/smtpserver") = _
"XXX.XXX.XXX.XXX"
oMsg.Configuration.Fields.Item _
("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25
oMsg.Configuration.Fields.Update
oMsg.Send
---
としているのですが,
添付ではなく「本文」に,
C:\cmd\xxxx1.txt
C:\cmd\xxxx2.txt
と複数展開したい場合どのようにすればよいですか?
638名無し~3.EXE:2006/03/24(金) 22:39:23 ID:J7gSTHdt
>>635
外部プログラムで正規表現で検索するようなのが良い気もするけど
参考程度にどうぞ。
(ただし存在しているファイル名によってはうまくいかない場合もあると思う)

【その1】
@echo off
set p=%1
if "%p:~0,8%" neq "????????" goto skip
if "%p:~8,1%" equ "?" goto skip
for %%I in (%1) do call :sub %%I
goto :eof
:skip
dir %1
goto :eof

:sub
set p=%~n1
if "%p:~7%" equ "" goto sub_end
if "%p:~8%" neq "" goto sub_end
echo %~nxtza1
:sub_end
639名無し~3.EXE:2006/03/24(金) 22:40:04 ID:J7gSTHdt
【その2】
@echo off
setlocal EnableDelayedExpansion
set p=%1
if "%p:~0,8%" equ "????????" if "%p:~8,1%" neq "?" goto dir_only_8char
dir %1
goto end

:dir_only_8char ### "?"が8個の場合は、8文字のみにヒットさせる ###
dir %1>tmpfile
for /f "delims=" %%I in (tmpfile) do (
set p=%%I
if "!p:~0,1!" equ " " (
echo %%I
) else (
for /f "tokens=1-4* delims= " %%J in ("%%I") do (
set p=%%~nM
if "!p:~7!" neq "" if "!p:~8!" equ "" echo %%I
)
)
)
del tmpfile

:end
endlocal
640名無し~3.EXE:2006/03/27(月) 16:13:27 ID:xuN4pkDW
Windows2000をつかってます
例えばhoge.exeを起動するだけ終わるバッチファイルを作るとして、

----------
C:\hoge\hoge.exe
exit
----------

としようとしたんですが、これだとhoge.exeが終了するまでコマンドプロンプトが終了しません。
hoge.exeが終了しないでも起動しただけでコマンドプロンプトを終了させる方法ってありますか?
あればその方法を教えていただきたいです
641名無し~3.EXE:2006/03/27(月) 16:33:06 ID:yvcLZvO1
start C:\hoge\hoge.exe
642名無し~3.EXE:2006/03/30(木) 12:38:26 ID:ElZOfdFo
batファイルで今日の日付のフォルダがあったらcommandを実行するってどうすればいいのですか?
643名無し~3.EXE:2006/03/30(木) 16:37:10 ID:ehxooRSi
>>642
@echo off
rem ---------------------------------------------------------
rem 事前にセットしておく(指定以下の全てのサブフォルダが対象)
rem または、第1パラメタが指定されたらそれを対象Dirとする
set target_dir="c:\"
rem ---------------------------------------------------------
if "%~1" neq "" set target_dir="%~1"

set hit=0
for /f %%I in ('date /t') do set today=%%I
for /d /r %target_dir% %%I in (*) do (
for /f %%J in ("%%~tI") do (
if "%%J" == "%today:~2%" set hit=1&echo *** "%%I" が hit しました ***
)
)
if %hit%==1 echo *** 本日(%today%)に作成されたディレクトリがあります ***
644名無し~3.EXE:2006/03/30(木) 17:42:53 ID:ehxooRSi
上記はWindows2000の場合であり、WindowsXPの場合には
>if "%%J" == "%today:~2%" set hit=1&echo *** "%%I" が hit しました ***

if "%%J" == "%today%" set hit=1&echo *** "%%I" が hit しました ***
に変更してください。
645642:2006/03/30(木) 23:58:08 ID:ElZOfdFo
ありがとう
646名無し~3.EXE:2006/03/30(木) 23:58:34 ID:bfD6kFkf
いい例だ
647名無し~3.EXE:2006/03/31(金) 11:30:28 ID:9qnhXCIA
たとえば
hostname
と入力するとホストネイムが表示されます

バッチファイルの中で,
hostname コマンドから得られた文字列を
host という変数に入れるのはどうすればいいのでしょうか?
648名無し~3.EXE:2006/03/31(金) 15:58:02 ID:QA0ybUYT
↑可能なら私も知りたいです。よろしくお願いします。
649名無し~3.EXE:2006/03/31(金) 17:26:10 ID:cjDfq2wI
>>647
ここの質問のうち、半分はforで解決します。
って以前から言われてる気がするけどね。
643でもそのテクニックを使ってますよ。(643は内部ループ%%Jは不要だったね)
あとは一旦ファイルに結果をリダイレクトしても可能。
結果を複雑にフィルタリングしたり加工したりしたい場合はこっちかな。
650名無し~3.EXE:2006/03/32(土) 00:53:05 ID:D8JrWlYo
%COMPUTERNAME%で事足りる鴨
651名無し~3.EXE:2006/03/32(土) 01:23:24 ID:D/oCLsl3
%LOGONSERVER%
%USERDOMAIN%
なんてのもあるね。
652名無し~3.EXE:2006/03/32(土) 13:39:24 ID:wvdCde9f
100個のテキストファイルの各々のファイル名を、
各々のファイルの先頭に埋め込みたいのですが、
「%%I の使い方が誤っています 」というエラーが出てしまいます。
どうしたらよいのでしょうか

for /r "%1" %%I in (*) do echo %%I>"%%I.txt"
653名無し~3.EXE:2006/03/32(土) 19:59:08 ID:D/oCLsl3
>>652
本当にバッチスクリプトファイルですか?別にそんなエラーは出ないけど。
コマンドラインから直接指定してるわけじゃないだろうし。
環境はWindowsXP?

気になる点
・"%1"では、渡されるパラメタに既に""が付いてる("c:\Program Files"とか)
 とエラーになるよ。forのヘルプを見てチルダをつけよう。
・再帰的に実行途中で自分が作成した"%%I.txt"がさらに対象に含まれてしまい
 "%%I.txt.txt"とか"%%I.txt.txt.txt"とか...幾つも出来てしまう。
・そもそも
 「テキストファイルの各々のファイル名を、各々のファイルの先頭に埋め込みたい」
 とは、俺がこの文章を解釈すると
 「既存のファイルに、先頭1ライン目に自分自身のパス名を追加したい」
 と読めるんだけど?
 なら、テンポラリファイルをそのように作成してから、元のファイルを削除後に
 テンポラリファイルを元のファイル名にリネームするようにしないと。
654名無し~3.EXE:2006/04/02(日) 00:05:04 ID:4HhcfITl
fcコマンドは前後の行も出てしまいますが、2行目と5行目(←の部分)のみを
c.txt に書くコマンドがありましたらお願いいたします

***** a.txt
1行目
3行目
***** b.txt
1行目
2行目    ← ここと
3行目
*****

***** a.txt
4行目
6行目
***** b.txt
4行目
5行目    ← ここ
6行目
*****
.
.(以下続1000行目まで続く)
655名無し~3.EXE:2006/04/02(日) 00:19:03 ID:nc2i5pQz
>>654
そんなのは無いと思う。
一旦それで出力したファイルを、内容を判断して編集するようなスクリプトを作れば可能。
でも標準のバッチスクリプトの範囲じゃ不可能とは言わないまでも、かなり難しいことになりそう。
Perlとかsed、awkとか又はWSH(JAVA/VBスクリプト)を使った方が良い。
656名無し~3.EXE:2006/04/02(日) 00:43:46 ID:2Wc07DGc
つ diff
657654:2006/04/02(日) 00:47:19 ID:4HhcfITl
>>655
そうですか。。
a.txt の中で、抜けているものだけを
抽出できればいいのですが。。。
658名無し~3.EXE:2006/04/03(月) 17:29:07 ID:fkxNCG9G
お世話になります。

以下のようなディレクトリ構造になっているファイルを、
「Data」ディレクトリ以下からまるごとコピーするような
シェルスクリプトを作りたいのですが、どうしたらいいでしょうか?
ちなみに、「Data」ディレクトリ以下は、月日ごとに増えていきます。
\Data\200603\01\ファイル
\Data\200603\02\ファイル
\Data\200604\01\ファイル
\Data\200604\02\ファイル

また、以下のようなファイルを、毎日、
名前を変えてコピーするようなシェルスクリプトを
作りたいのですが、どうしたらいいでしょうか?
\Zaiko\zaiko.csv

私が調べた限りでは、方法は無いのですが、
DOSプロンプトに詳しい方、よろしくご教授願います。
659名無し~3.EXE:2006/04/03(月) 17:43:49 ID:uPERw6r0


やぁドザの皆さん
何?今日もウィルス反応?
ダメだねぇWindowsは

世界最速のMacOS
ウィルスにもびくともしない最高のOSです

さあ、ヲタ専用機Windowsから乗り換えよう
Switch Mac
660名無し~3.EXE:2006/04/03(月) 17:48:28 ID:uPERw6r0


ずっと疑問に思ってたんだ
なぜWindowsはヲタ専用なのか
Macをつかってみてやっと理解できたよ

さあ、世界最速Macを使って実感しよう
「Windowsはヲタ専用機」

Switch Mac
661名無し~3.EXE:2006/04/03(月) 17:56:33 ID:OWOUyEJi
Switch Mac って気持ち悪いな
Switch to Mac ならまだ分かるが
662名無し~3.EXE:2006/04/03(月) 18:02:27 ID:uPERw6r0


やぁ、ドザの皆さん
ずっと疑問に思ってたんだ「なぜWindowsはヲタ専用機なのか」
だがこの疑問はMacを使ってやっと理解できたよ
全てを自動化
古くさいWindowsは窓から捨てよう
Swicth Mac
663名無し~3.EXE:2006/04/03(月) 18:13:12 ID:Rn50HHOe
Swicth Mac
664名無し~3.EXE:2006/04/03(月) 18:28:44 ID:fkxNCG9G
お世話になります。

以下のようなディレクトリ構造になっているファイルを、
「Data」ディレクトリ以下からまるごとコピーするような
シェルスクリプトを作りたいのですが、どうしたらいいでしょうか?
ちなみに、「Data」ディレクトリ以下は、月日ごとに増えていきます。
\Data\200603\01\ファイル
\Data\200603\02\ファイル
\Data\200604\01\ファイル
\Data\200604\02\ファイル

また、以下のようなファイルを、毎日、
名前を変えてコピーするようなシェルスクリプトを
作りたいのですが、どうしたらいいでしょうか?
\Zaiko\zaiko.csv

私が調べた限りでは、方法は無いのですが、
DOSプロンプトに詳しい方、よろしくご教授願います。
665名無し~3.EXE:2006/04/03(月) 19:25:01 ID:baFOBUfI
>>664
1つめ、xcopy /?
2つ目はどういう名にしたいのか?
日付追加とかなら少し上をみろ。
1日1回だけ実行とかなら、フラグ用のファイルを何処かに作成せよ。
666名無し~3.EXE:2006/04/03(月) 22:07:01 ID:mAqWpoJ0
牛肉食え
switch mac
667名無し~3.EXE:2006/04/04(火) 01:07:34 ID:pJlIIAam
toが抜けてるどころじゃなくそもそもswicthとか激しくスペルミス
668名無し~3.EXE:2006/04/04(火) 15:19:31 ID:KZuF/5b3
バッチファイルで,
dir >files.txt
と記述しているだけなのですが,実行するとなぜか
dir 1>files.txt
と数字の1が付加されて表示されてしまいます。
files.txtには正しくdirが実行された結果が記録されていますが。

なぜこうなるか分かりますでしょうか。
Windows2000です。
669名無し~3.EXE:2006/04/04(火) 19:09:32 ID:CB1sTsY1
ttp://www.microsoft.com/resources/documentation/WindowsServ/2003/standard/proddocs/ja-jp/redirection.asp

注 > リダイレクト出力演算子の既定ハンドルは 1 です。
670名無し~3.EXE:2006/04/05(水) 10:44:44 ID:bVqWTTj/
Thanks!!
671名無し~3.EXE:2006/04/10(月) 22:42:04 ID:lFIWGQY5
printscreenを実行してくれるDosコマンドはありますか?
winXPです。
672名無し~3.EXE:2006/04/11(火) 10:32:23 ID:6RhZpuVy
>>671
クリップボードにスクリーンキャプチャした画像データを入れたいのか?
673名無し~3.EXE:2006/04/11(火) 10:42:03 ID:iFUiQdOU
実行されるとGUIフォーム出さずにクリップボードに画面全体をコピーして終了するって言うソフト作ればいいんじゃね?
VB6でいいなら作ろうか?
674名無し~3.EXE:2006/04/11(火) 22:01:09 ID:24GQ871B
>>672
何か一定のファイル名で画像を保存できればよいです。
クリップボードにコピーは必要ないです。

>>673
Dosコマンドにはprintscreenと同等のコマンドはないってことですよね・・・
よければVBでください。
675名無し~3.EXE:2006/04/12(水) 01:06:14 ID:jV2eD888
676名無し~3.EXE:2006/04/12(水) 01:08:55 ID:LDXaJTCd
>>675
2行でできるwshのお手軽さ。
677673:2006/04/12(水) 10:23:11 ID:LdD/nizO
>>674
ttp://www.uploda.org/uporg362585.zip.html
パス 673
ソースもそのまま付けたので改造とかどうぞ。
678名無し~3.EXE:2006/04/12(水) 22:45:04 ID:CZX9AjXV
>>675
>>677
ありがとうございました。
679名無し~3.EXE:2006/04/12(水) 23:41:11 ID:7fT2LJNC
横レススマソ

WSHすげー!と思って、見よう見真似で↓作ってやってみたけど、貼りつかなくない?

set WshShell = WScript.CreateObject("WScript.Shell")
WshShell.SendKeys "{PRTSC}"

>>675
>メモ アプリケーションに PrintScreen キー ("{PRTSC}") を送ることはできません。
って書いてあるし。
680名無し~3.EXE:2006/04/13(木) 00:35:59 ID:LTVsTHoa
横からすみません
この>>677のものを実行したらその時点での画像がクリップボードに行きますよね
そのあとそれを保存するのはどうしたらいいでしょうか
clipbrdビュワーを立ち上げて手動で保存じゃなく、
適当なファイル名a.jpgで自動で保存させたいんです
681名無し~3.EXE:2006/04/13(木) 02:21:35 ID:VtCGTqau

Vector で探すと、コマンドラインから指定してキャプチャ出来るようなソフトも
見つかるようですが。> http://www.vector.co.jp/vpack/browse/pickup/pw4/pw004720.html
682名無し~3.EXE:2006/04/13(木) 07:39:18 ID:68mSxQdB
>>681
リソースを一切消費しないという表現が何度も出ているけど
ありえん話だな
683名無し~3.EXE:2006/04/13(木) 08:05:22 ID:k2XbjcUA
684680:2006/04/13(木) 13:30:07 ID:Jqvoj0OE
>>681
これは起動オプションが豊富ですね
batでいろいろ出来そうです
よいものを教えていただきありがとうございます

685名無し~3.EXE:2006/04/14(金) 14:53:04 ID:vIdluHvT
次のようなbatファイルを作成したいです

連続して何個かのファイルを読み込みたいのですが、
ソースをHDDにあるファイル、ディスティネーションをlinuxでいう
/dev/null(ディスクへの書き込みをせず)にして、
それぞれのファイルの読み込みに掛かる時間を調べたいです

だれか作って下さい。・゚・(ノ∀`)・゚・。
686名無し~3.EXE:2006/04/14(金) 15:18:06 ID:5EJqz2MX
cygwinからcat.exeとtime.exeもってきてnulに吐くのが手っ取り早い
687名無し~3.EXE:2006/04/14(金) 15:32:49 ID:vIdluHvT
ありがd 解決しました!!
688名無し~3.EXE:2006/04/14(金) 15:33:37 ID:5EJqz2MX
わりと冗談だった
今は反省している
689名無し~3.EXE:2006/04/14(金) 22:03:37 ID:iz/VN3Up
ワラタ
690名無し~3.EXE:2006/04/14(金) 22:13:17 ID:mSPITgen
ディスティネーション
~~~~~~~~~~~~~~~~~~~
/dev/null
~~~~~~~~~
凄すぎw
691名無し~3.EXE:2006/04/14(金) 22:33:00 ID:Jmztnxo0
>>690
どこが凄いのかさっぱりわからない。
説明よろ。
692名無し~3.EXE:2006/04/15(土) 01:50:29 ID:YEMK8nrW
XPhomeです
このスレで知ったリファレンスを一発で呼び出せる裏技を便利に使っています
ふと、思ったのはhhがリファレンスに載ってないんです
項目がないだけで、どこかの項目の中には解説があるのでしょうか?
hhとは何でしょうか
"コマンドライン hh.exe"でgoogleするとこのスレが一番にヒットするだけです
hh /?では入力した履歴がずらっと出てきました
hhについて御教授ください(解説したHPへの誘導でもいいです)
693名無し~3.EXE:2006/04/15(土) 02:36:39 ID:6u4jbIzv
コンパイル済み HTML Help (*.chm)用のブラウザ = hh.exe
694名無し~3.EXE:2006/04/15(土) 02:40:00 ID:6u4jbIzv
さらに言うと、これはコマンドライン用のコマンドでなく、普通のwin32アプリ。

例えば、エクスプローラーを起動したい場合、explorerって打つのと同じ。
695名無し~3.EXE:2006/04/15(土) 03:01:48 ID:jMylz7XP
>>693
>>694
ありがとうございます
さっそく"HTML Help"や"Microsoft HTML Help Executable"で
再Google再々Googleしたらたくさん出てきました

hhでdoskey /historyと同じ内容が出てくるのがまだなぞですが
ちょっと勉強してみます
696名無し~3.EXE:2006/04/15(土) 09:21:51 ID:EmTpeEHn
その関連で考えたんですが
FOR %V IN ( ) DO %Vの構文使って
aaからzzまで、aaaからzzzまでのコマンドを入力するにはどう書けばいいでしょうか
これが出来たら隠しコマンドを見つけやすくなると思うので聞いてみました
  
697名無し~3.EXE:2006/04/15(土) 10:16:28 ID:Eh8k8zpK
*.exe でHDD検索シレ
698696:2006/04/15(土) 10:29:15 ID:Cy9F2dRM
>>697
HDD検索しても隠しコマンドは出てこないと思いますが
書き方が悪かったのかな
「適当なコマンド aaa-zzz(桁数は適当、記号が入ればなお可、でも記号は無理?)」
を連続実行するFOR構文です
699名無し~3.EXE:2006/04/15(土) 11:06:35 ID:qFC4h7AD
隠しコマンドって何?
700名無し~3.EXE:2006/04/15(土) 11:20:55 ID:DTXvEl1w
ほれ、隠しコマンドの一部を教えてやる
notepad
rededit
sysedit
701名無し~3.EXE:2006/04/15(土) 11:22:52 ID:u/5d11PV
shrpubw.exe
702名無し~3.EXE:2006/04/15(土) 11:23:10 ID:90IKsd6k
win95とかにあった TRUENAME コマンドみたいなやつってことか
703名無し~3.EXE:2006/04/15(土) 22:10:40 ID:AxE7vWAs
win2000のDOSで、txtファイルを任意のexeで開かせることは可能でしょうか?
例えば、notepad.exeに関連づけされているtxtファイルをWordで開く、といった感じです。

対象のファイルを右クリック→プログラムから開くを選択→プログラムを選択する、といった風な動作を
DOSから行わせたいんです。
704名無し~3.EXE:2006/04/15(土) 22:57:15 ID:pOC2kxGd
assoc /?
ftype /?
705名無し~3.EXE:2006/04/15(土) 23:01:55 ID:pOC2kxGd
もしかして関連付けを変えないで別アプリで開くって意味?
なら普通にパラメタでターゲットファイルを渡せば良いだけ。
706名無し~3.EXE:2006/04/16(日) 12:34:02 ID:n2q7dhgj
ポチエスはさめば自由自在かも
707703:2006/04/16(日) 21:35:02 ID:yTm38H/o
ASSOC .ill=abcde
FTYPE abcde="F:\Program Files\Windows NT\Accessories\wordpad.exe" %1 %*
F:\Documents and Settings\my\rss.ill

上記の記述で走らせてみたところ、rss.illファイルがノートパッドに関連づけされたのですが
開くところまでは行きませんでした。

>なら普通にパラメタでターゲットファイルを渡せば良いだけ
その方法をぐぐる為のキーワードでもいいので教えてもらえないでしょうか。
708名無し~3.EXE:2006/04/16(日) 21:37:06 ID:92k4XFWb
引数も括れよ
709名無し~3.EXE:2006/04/16(日) 23:26:37 ID:Jz5wXoHy
>>707
ごめん。説明不足だった。
その普通に渡せばってのは、関連付けしてない場合の話。
"F:\Program Files\Windows NT\Accessories\wordpad.exe" "F:\Documents and Settings\my\rss.ill"

で、関連付けした場合は、
start "F:\Documents and Settings\my\rss.ill"
710703:2006/04/17(月) 00:24:09 ID:nOiaUhca
707さんに教えていただいたとおり修正して動かしたところ、
コマンドプロンプトでillファイルを開いている?ような表示になっていましたので、

ASSOC .ill=abcde
FTYPE abcde="F:\Program Files\Windows NT\Accessories\wordpad.exe" "F:\Documents and Settings\my\rss.ill"
"F:\Documents and Settings\my\rss.ill"

上記のように記述して走らせたら、illファイルをwordpadで開くことができました。
考えていたとおりの動作ができました。ありがとうございました。
711名無し~3.EXE:2006/04/17(月) 00:33:40 ID:DBcKT+wM
単に、""で括り忘れたから途中のスペースでパスが切れたんだろう。
ftypeは元に戻せ。

xxxx
start xxxx
start /wait xxxx
712名無し~3.EXE:2006/04/18(火) 17:15:24 ID:BZjMm8ki
aho_ABC_baka.txt, ihi_ABC_ufu.jpg, ehe_ABC_oho.c, ...

みたいに、ファイル名に一部を含むファイルがたくさんあって、
それをすべて ABC → DEF のように変更したいのですが、

ren *_ABC_* *_DEF_*

とすると、

aho_ABD_DEF_.txt, ihi_ABC_DEF_.jpg, ehe_ABC_DEF_.c

となってしまいます。なぜですか?
713712:2006/04/18(火) 17:16:17 ID:BZjMm8ki
>ファイル名に一部を含むファイルがたくさんあって
ファイル名の一部に特定の文字列を含むファイルがたくさんあって

…です。
714名無し~3.EXE:2006/04/18(火) 18:33:34 ID:b3nZ7Rrn
多分、頭の*と尻尾の*で2回ヒットして実行されるのでは?
まあ、何故って問うてもそういうもんだって納得するしかないだろ。

やりたいことは、
for文でファイル名を読み取って環境変数に格納し置換する
ことで出来るだろう。
(遅延環境変数を有効にしないと出来ないかも)
helpを読みながら挑戦せよ。
715名無し~3.EXE:2006/04/18(火) 23:35:22 ID:i5LHpHhe
cacls "G:\System Volume Information" /T /E /G Administrators:F
cacls G:\SYSTEM~1 /T /E /G Administrators:F

コンソールで直に実行すると無問題。
BATにすると無限ループに陥る…なんで?
716名無し~3.EXE:2006/04/19(水) 04:35:36 ID:vGlWA9Bl
ぅあ!>>715
自己解決しました。

cacls.exe "G:\System Volume Information" /T /E /G Administrators:F
717名無し~3.EXE:2006/04/19(水) 07:21:57 ID:Lj/xTGQz
cacls.batって名前にしたのか
それは気付かなかった
718名無し~3.EXE:2006/04/19(水) 11:04:12 ID:UBfxvUIs
誰でもまあ一度はやっちゃうことだな。
719名無し~3.EXE:2006/04/20(木) 00:25:02 ID:MJximUbv
Alt + Enter
720名無し~3.EXE:2006/04/21(金) 04:36:27 ID:rPl5qXp9
>>714
> まあ、何故って問うてもそういうもんだって納得するしかないだろ。
そういうものがどういうものか次回までにちゃんと調べておけ。
721名無し~3.EXE:2006/04/21(金) 09:21:13 ID:Aj2tokGX
(;^ω^)変なやつがでてきた
722名無し~3.EXE:2006/04/21(金) 12:42:36 ID:6Wubdaij
調査費用出せよなあ。
723名無し~3.EXE:2006/04/21(金) 18:40:31 ID:bdWfqs21
キーボードからの入力の内容を持ったファイルを作る
copy con test.txt
なんですが

test.txtに既に内容が入っていて
追加書き込みの場合はどうしたらいいでしょうか?
724名無し~3.EXE:2006/04/21(金) 20:03:08 ID:yTOM7z8t
>>723
copy test.txt+con test.txt
とか
type con >> text.txt
とか
725名無し~3.EXE:2006/04/21(金) 20:25:12 ID:Iuz/s1eQ
>>724
ありがとうございます
出来ました
copyばかり検索してました
type を使うとは気が付かなかった
726名無し~3.EXE:2006/04/21(金) 23:34:31 ID:rPl5qXp9
edit text.txt
727名無し~3.EXE:2006/04/22(土) 00:53:14 ID:ETEBAGv/
edlin text.txt
728名無し~3.EXE:2006/04/22(土) 00:58:18 ID:Sw/Palu5
せめてseかviぐらいは使わせてくれ
729名無し~3.EXE:2006/04/22(土) 20:03:07 ID:RfKJQedz
mkdir %DATE:/=?%
730名無し~3.EXE:2006/04/22(土) 20:15:13 ID:y7We/Rdz
>>729
これ何?何が起きるの
障害が起きるの怖いから入力できません><
731名無し~3.EXE:2006/04/22(土) 20:31:24 ID:Sw/Palu5
ファイル名、ディレクトリ名、またはボリューム ラベルの構文が間違っています。

別にどうもならんかった。
732名無し~3.EXE:2006/04/22(土) 22:56:45 ID:IJjCw8LZ
デスクトップ上のディレクトリの名前を変更するbatファイル作りたいのですが、
以下ではうまくいきませんでした。
たぶん、すごい初歩的な質問だと思うので、
申し訳ないのですが、どなたか教えてください。

cd "C:\Documents and Settings\8105716\デスクトップ"
ren 新しいフォルダ 新しいフォルダ1

733名無し~3.EXE:2006/04/22(土) 23:29:22 ID:eg1psqCK
move /?
734名無し~3.EXE:2006/04/23(日) 01:38:12 ID:O9f8SSA6
>>733
レスありがとうございました。

moveでやってみましたが、うまくいきませんでした。
コマンドプロンプトでコマンド手打ちする分には、名前の変更ができるのですが、
batファイルで実行すると、うまくいきません。
別の問題なのでしょうか・・・。
735名無し~3.EXE:2006/04/23(日) 01:49:13 ID:3AczhZLg
>>734
どういうエラーが出るの?
最後にpauseを付けてみて。
736名無し~3.EXE:2006/04/23(日) 01:58:30 ID:MXftIx7f
tweakuiかなんかでtabキーをアレしたあとで…

c:>cd "C:\Documents and Settings\8105716\デスクトップ"
c:>ren [tab] (以下略)
737名無し~3.EXE:2006/04/23(日) 02:15:01 ID:O9f8SSA6
>>735
pause付けてみましたところ、
cdのところで、"指定されたディレクトリが見つかりません"と出てました。
実際、ディレクトリはあるのですが、cdがうまくいっていないようです。
738名無し~3.EXE:2006/04/23(日) 02:21:29 ID:3AczhZLg
じゃあ、システムドライブがCじゃないのかな?
C:
cd "\Documents and Settings\8105716\デスクトップ"
というようにしてみて。
739名無し~3.EXE:2006/04/23(日) 02:25:47 ID:O9f8SSA6
>>737
解決しました。

cdの際、ドライブ名も変わっていたので、
/dを付ける必要があったみたいです。

pauseを付けて、エラーを確認するなどとても参考になりました。
どうもありがとうございました。


>>736
レスありがとうございました。
今回は、別の方法でうまくいってしまいましたが、感謝です。
740名無し~3.EXE:2006/04/23(日) 02:30:20 ID:3AczhZLg
pushを使うって手もあるよ。
741名無し~3.EXE:2006/04/23(日) 02:32:02 ID:yAw+73R2
pushd か?
742名無し~3.EXE:2006/04/23(日) 02:35:51 ID:3AczhZLg
typoだね。訂正ありがとう。
743名無し~3.EXE:2006/04/23(日) 10:43:08 ID:J7F+kvJp
BEEP音が何回やってもならないんですがXPhomeでは鳴らないのでしょうか?
パソコンの音量設定はON最大で正常です
コマンドプロンプトでいくらやっても鳴らないのです
744名無し~3.EXE:2006/04/23(日) 10:46:51 ID:k60FxBTQ
エラー時の音を無くすと称して
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Beep\Start = 4
に設定するソフトがある
745名無し~3.EXE:2006/04/23(日) 10:55:19 ID:82MFKo2o
net start beep
746名無し~3.EXE:2006/04/23(日) 11:21:56 ID:J7F+kvJp
>>744
>>745
それを入力したら

『要求したサービスは既に開始されています。
NET HELPMSG 2182 と入力すると、より詳しい説明が得られます。』

が出てきて、NET HELPMSG 2182を入れたら

『要求したサービスは既に開始されています。
説明
既に動作中のサービスを開始しようとしました。
対処
動作中のサービスを一覧表示するには、次のように入力してください:
        NET START                           』
が出てきてNET STARTを入れたら開始しているサービス一覧が出てきて
・・・・・・・・・・・・・・・・・・・・・・・・

というわけで無理みたいですのでBEEP音は諦めます
わざわざすみませんでした


747名無し~3.EXE:2006/04/23(日) 15:23:17 ID:KrpCWE0Z
>743
もう居ないかも試練が
「XPhomeでは」と言うからには、他のOSでは鳴るの?
748名無し~3.EXE:2006/04/24(月) 01:56:46 ID:YbmpzkDF
どうせノートだろ。
ベープ音はサウンドのミキサ入力になってると思われ。
749名無し~3.EXE:2006/04/24(月) 19:21:44 ID:I6BZXUFk
ベープ音
750名無し~3.EXE:2006/04/24(月) 19:35:13 ID:BQa+SdUV
フマキラー!フマキラー!
751名無し~3.EXE:2006/04/24(月) 19:56:09 ID:6u3VGgEc
糞ワロタ
752名無し~3.EXE:2006/04/24(月) 22:41:36 ID:tQ19+/ul
そういや、ここ数年前から蚊取り線香もベープも使ってないのに家で蚊に刺されなくなったような・・・
まさかパソコンからは本当に蚊を遠ざける効果のある「ベープ音」とやらが出ているのか?
753名無し~3.EXE:2006/04/24(月) 23:03:43 ID:Y0LPNASq
>>752
ファンから超音波が出てるらしいよ
754名無し~3.EXE:2006/04/25(火) 01:46:07 ID:m/Jfem/p
>>753
マジオネア?
755名無し~3.EXE:2006/04/25(火) 09:52:16 ID:UjKQDZk4
>>752
俺はスーパーハッカーなんだけど、
おまいのPCにこれ仕込んどいたから。
ttp://www.vector.co.jp/soft/win95/home/se252600.html
ttp://www.vector.co.jp/soft/win95/home/se294955.html
756名無し~3.EXE:2006/04/27(木) 19:35:32 ID:qwe3Nr1w
「help 何かのコマンド」でhelpが取れますよね。で、たくさんのhelpをhelpfile.txtに収集したい時
「help dir >>helpfile.txt
help copy >>helpfile.txt
help ほにゃらら >>helpfile.txt 以下ずっと続く 略」

でやるのと同じ働きがあって、これをもっと見栄え良く書きたいとしたら
forを使って、こんなやつが思いつきました

FOR /F "usebackq delims= " %i IN (`help`) DO help %i >>helpfile.txt
↑これでもまだ「します。」とかのゴミが付いたりはします
これをもうちょっとスマートに書くにはどうしたらいいでしょうか?
上のはhelpからコマンド一覧をひらって来ていますが別な方法があればそれも知りたいです
757名無し~3.EXE:2006/04/27(木) 20:40:14 ID:dPfmZsY0
>>756
そんなもん1回やれば済むことなんだから、多少ゴミが付いたって
後でテキストエディタで整形すればええやんか。

と言いつつ多少スマートな方法↓
for /F "usebackq" %i in (`help ^| findstr /R ^^^^[A-Z]`) do help %i >> helpfile.txt
758756:2006/04/27(木) 20:55:13 ID:C375sfo8
>>757
^^^^[A-Z]とか、また見慣れないものが出てきました
奥が深いですね
作ってくれたのを解読してさらに修行します<(_ _)>感謝
759名無し~3.EXE:2006/04/27(木) 21:41:30 ID:dPfmZsY0
「findstr /R ^^^^[A-Z]」の部分は「findstr /R "^[A-Z]"」でも良い。

特殊文字 (<、>、|、&、^) をコマンドに渡すには前に ^ を付けるか " で囲む。

なので、`help ^| findstr /R ^^^^[A-Z]` は
help | findstr /R ^^[A-Z]
と解釈される。
760名無し~3.EXE:2006/04/28(金) 06:17:31 ID:LnGJSfUY
761名無し~3.EXE:2006/04/28(金) 11:27:34 ID:eLw/0+tW
>>760
中身みないでレスするのもアレだけど、.NET(CLI)で動作ってだけで萎える。
そんなことなら、cshでもbashでも入れた方がずっとマシだと感じる。
762名無し~3.EXE:2006/04/28(金) 19:01:23 ID:XiQQCaiQ
 %~t1 でタイムスタンプを取り出せますが、
秒の単位を取り出す方法ありますか
763名無し~3.EXE:2006/04/30(日) 02:26:10 ID:ymiEJ8mK
>>760
Monad Shell とは別もの?
764名無し~3.EXE:2006/04/30(日) 15:12:20 ID:kFU7P8aE
>762
以下のバッチファイルを作ると、例えば2006/04/30の15:03:54.76に実行した際に
"UNOW-2006043015035476.LOG"という名前のテキストファイルがCドライブの
ルートフォルダ直下に作成される。このように1/100秒の単位まで取り出せる。
ただしWindows95/98/Meでは「FOR /F」だけでなく「TIME < NUL」も使えなかったはずなので無理。

@ECHO OFF
TIME < NUL | FIND "現在の時刻" > C:\USRTIME.TMP
FOR /F "eol=; tokens=2,3,4,5 delims=:. " %%i IN (C:\USRTIME.TMP) DO @SET UTIME=%%i%%j%%k%%l
FOR /F "eol=; tokens=1,2,3 delims=/ " %%i IN ('DATE/T') DO @SET UNOW=%%i%%j%%k%UTIME%
DIR C:\ > C:\UNOW-%UNOW%.LOG
DEL C:\USRTIME.TMP
765名無し~3.EXE:2006/05/03(水) 09:43:08 ID:emzF+d30
コマンドの結果を抽出するので行き詰っています
やりたいことは「ipconfig(ipconfig /all)した結果からIPアドを抜き出す」です
ipconfigした結果は環境によってまちまちですがここでは4つあるものとして
細かい仕様は
1)一番目はいらない(ここはローカル接続のところ)
2)IPアドレスを別処理に使うから、全部を抜き出すとか一番目のヒットだけ抜き出すとかしたい
PPP hogehoge:
        Connection-specific DNS Suffix  . :
        IP Address. . . . . . . . . . . . : 99.99.99.99←取り出したいのはこれ
        Subnet Mask . . . . . . . . . . . : 255.255.255.255
        Default Gateway . . . . . . . . . :
今自力でつくったものがこれです
FOR /F "usebackq skip=1 tokens=2 delims=:" %i IN (`ipconfig ^| find "IP Address"`) DO @echo %i
処理は実際には違いますがここでは仮に@echoを使ってます
skip=1は先頭のローカル接続が不必要なのでつけてみました、で結果がこうなって
99.99.99.99
33.33.33.33
*.*.*.*
このままだと99.99.99.99で処理→33.33.33.33で処理→*.*.*.*で処理
結局、常に*.*.*.*の処理の状態で終わってしまうので
99.99.99.99の処理でも終わりたい、33.33.33.33の処理でも終わりたいということです

766名無し~3.EXE:2006/05/03(水) 11:41:09 ID:qOvzO02G
何回実行したのかを示すカウンタを作成してみては?
set count=0
set /a count += 1

なお、forループの中でカウントアップとその変更の参照(判定)を行うには、
遅延環境変数を使う必要がある。
setlocal ENABLEDELAYEDEXPANSION
767名無し~3.EXE:2006/05/03(水) 17:11:27 ID:mr+l0dRR
>>766
set countはやったことなかったですが何とか無事出来ました!
的確なアドバイスありがとうございます
768名無し~3.EXE:2006/05/05(金) 14:46:05 ID:2KLSeEVV
ちょっと相談させてください。
Tweak UIで、ファイル名補完のキーをtabにしました。

で、Bluewindとか、その他のランチャーで、C:\Windows\Sysytem32\cmd.exeを呼ぶと、
なぜか、Tweak UIでの設定が有効になっていません。
しかし、

Win+Rで、cmdを入力して起動したり、
Explorerでアドレスバーを出しておいて、%Comspec%でコマンドプロンプトを起動すると、
ちゃんと反映されています。

私としては、何か隠しのコマンドラインオプションがあるのでは?と思っているのですが
ランチャーなどでTweak UIの設定が有効にならない原因は何なのでしょうか?

なにか示唆を与えてくださると嬉しいです。
769名無し~3.EXE:2006/05/05(金) 15:00:52 ID:aBkTtBDz
ランチャーは、ncwだけどちゃんと効くよ。
あと、デフォで有効なんだけど、cmd.exeのオプションにもある。
cmd /?
770名無し~3.EXE:2006/05/05(金) 16:04:39 ID:2KLSeEVV
>>769
ありがとうございます!

そっか有効でしたか・・・
今のところだと、オプションは、/F:ONを指定していて、
それでランチャーから起動すると、tabではなく、Ctrl+FとCtrl+Dが有効なんです。
つまりデフォルトの状態ですよね。

もうちょうっと悩んでみます。どうもありがとうございました。
771名無し~3.EXE:2006/05/05(金) 17:05:00 ID:2KLSeEVV
>>770
追記させてください。解決しちゃいました。

結果的に申しますと、Windowsを再起動したら、なんかちゃんと動きました。
何と言いますか、お騒がせしてほんとにすいませんでした・・・<(_ _)>
772名無し~3.EXE:2006/05/09(火) 03:12:05 ID:JDI+jrGl
タスクスケージュルのタスクのプロパティにある、
設定タブの電源管理の項目中にある、
タスクの実行時にスリープを解除する
にチェックを入れた状態にタスクをコマンドで
設定したいのですが、atでもschtasksでも、
該当オプションがみつかりません。
なにか他の方法があるのでしょうか?

773名無し~3.EXE:2006/05/09(火) 03:40:31 ID:JDI+jrGl
age
774名無し~3.EXE:2006/05/09(火) 04:04:21 ID:IMq1SK7g
>>772
俺がちょっとぐぐったら、1分で見つかったけどね。
http://www.windows-world.jp/ms_support/-/18422.html
775名無し~3.EXE:2006/05/09(火) 13:39:59 ID:a8Cg2t3v
送る(sendto)の中に登録して、
ファイラから送った複数のファイルを、フレキシブルリネーマーというリネームツールに
渡す動作をするバッチファイルを作っていただけないでしょうか?

具体的には
"D:\Flexible Renamer.exe" /Rename
に送ったファイルを渡して実行してくれればいいのですが...。
776名無し~3.EXE:2006/05/09(火) 14:10:36 ID:jkKaxlNE
>>775
"D:\Flexible Renamer.exe" /Rename
のショートカットをSendToにぶち込めばいいんじゃないの?
777775:2006/05/09(火) 14:33:01 ID:a8Cg2t3v
>>776
いえ、それがたくさんのファイルを送るためにlongparameter for shortcutという
ソフトをいれたら、コマンドオプションの”/rename”というのが効かなくなって
しまったんですよ。
バッチファイルを間に入れれば、コマンドオプションを効かして実行できるそうなので。
778名無し~3.EXE:2006/05/09(火) 15:36:19 ID:3KbQ578B
start /min "D:\Flexible Renamer.exe" /Rename %*
というバッチファイルを作れ
779775:2006/05/09(火) 16:16:58 ID:a8Cg2t3v
できません先生!
780名無し~3.EXE:2006/05/09(火) 20:28:08 ID:V4T18yw0
>>779
@start "" /DD:\ /B "D:\Flexible Renamer.exe" /Rename %*
781775:2006/05/10(水) 02:11:52 ID:sCmKSBHR
できました先生!ありがとう!

...でも今度はコマンドプロンプトの制限?なのかやっぱり渡せるファイル数が少なかったorz
782775:2006/05/10(水) 13:23:07 ID:oUGtz/Sn
コマンドプロンプトで扱えるバイト数の制限をなるべく多くする方法はないでしょうか?
783名無し~3.EXE:2006/05/10(水) 13:50:50 ID:gD4OxBfb
Long Parameter for Shortcutを使えってじっちゃんが言ってた
784775:2006/05/10(水) 13:53:58 ID:oUGtz/Sn
うん、それつかってるんだけど、今度は間に挟むコマンドプロンプトでの
制限が問題だと思うんですよ。
785名無し~3.EXE:2006/05/10(水) 14:54:13 ID:CrsBdXGn
ArgHelper
ttp://members.at.infoseek.co.jp/sakura_editor/other_tools.html
をはさむんじゃダメ?
786名無し~3.EXE:2006/05/10(水) 15:14:24 ID:GZLXT8ru
そのアプリって、ファイルを山ほど放り込む替わりにフォルダを指定することって出来ないの?
787775:2006/05/10(水) 15:50:41 ID:oUGtz/Sn
>>785
うおおっ!で、できたー!...かに見えたかんですが、このソフトで扱える
バイト数にも制限があるようです。それとちょっと存在しないフォルダが混じる
というバグが発生するようです。とてもおしい...。

>>786
もちろんできるんですが、一部のファイルだけ即座にリネームしたい時に
できると便利なんです。
これはソフト板のリネームスレでたまーに話題になります。
今のとこ解決策は、longparameter + 練馬(別ソフト)しかないんですよ。
788名無し~3.EXE:2006/05/10(水) 16:21:21 ID:PXpz1vIo
D&Dを受け付けるソフトなら
CraftDropをスクリプトでファイルの数だけ回転させたり。
789名無し~3.EXE:2006/05/10(水) 22:23:22 ID:jweZEwp7
>>787
なんかスレ違いっぽくなってきたが、>>785のやつをちょっと修正してみた
ttp://kasamatusan.sakura.ne.jp/cgi-bin2/src/ichi34924.zip.html

うまくいかなくても泣かないこと。事故責任でおながいします。
790775:2006/05/11(木) 03:02:27 ID:YZB+aWEM
>>789 キタ━━(Д゚(○=(゚∀゚)=○)Д゚)━━!!!!!
すごいっす!できました(泣
ほんと理想的な動作するようになって、完璧ですね。ほんとありがとうございます。

んで、物は相談なんですが、これ、ソフ板のリネームスレに紹介させて頂いていいでしょうか?
789さんの改造版ってことで。あちらのスレでも結構喜ぶ人がいると思います。
どうでしょうか?
とりあえず、785さん779さん、ArgHelperの作者さんありがとう...。

>>788
紹介サンクスコ。んでもへたれなんでスクリプトとかあまりよくわかんないんす。スマソ
791789:2006/05/11(木) 07:08:56 ID:McTBoQb9
>>790
いいよ。 取り扱いは元のReadMe.txtに従って下さい。
792名無し~3.EXE:2006/05/11(木) 12:46:04 ID:QsuwIXtC
感動した
793名無し~3.EXE:2006/05/11(木) 14:11:33 ID:2XWlxTM3
Unixのシェルで使用できるtestコマンドについて、
Windows版のtestコマンドを使用したいのですが、
そのようなものはどこかに置いてないでしょうか?
または、何かで代用できないでしょうか?
知っていましたら、お教え願います。
794名無し~3.EXE:2006/05/11(木) 17:00:16 ID:0RBTNjEm
とんでもない技術者がこのスレにはいるね。すばらしい。
795名無し~3.EXE:2006/05/12(金) 19:58:53 ID:qULtNSOc
どんなスゴイものかと思って2のソース見たら、、、、、_| ̄|○
796名無し~3.EXE:2006/05/12(金) 22:29:42 ID:3ajY4F+f
>>*プログラムに渡す引数のバッファをVirtualAllocで確保するように変更

これのこと?
797名無し~3.EXE:2006/05/13(土) 00:26:11 ID:SaG9QvKS
漏れもどうかと思ったが、何もせず批判するのはカッコワルイからやめた。
798名無し~3.EXE:2006/05/13(土) 01:16:00 ID:wDNXdCY4
突然すいませんm(__)m教えてほしいのですがパソコンの電源を入れたらウィンドウズの画面でなく英語が並んで出てきて操作ができません。たすけて
799名無し~3.EXE:2006/05/13(土) 01:38:37 ID:N0tBB+mI
>>798
とりあえずスレタイと>>1を100回音読しろ。
話はそれからだ。
800名無し~3.EXE:2006/05/13(土) 03:55:11 ID:iyu3hPVf
後出しじゃんけん見苦しい
801名無し~3.EXE:2006/05/14(日) 00:13:32 ID:1df0od7A

まー、>>798 みたいに他に何も情報がない状態で助言できる事ってのは
今も昔も「フロッピー差し込んだままになってない?」以外にないよね。
802名無し~3.EXE:2006/05/14(日) 02:21:06 ID:XuylMokd
>>798
うぇんどおずをいんすとーるしてないのとちゃうか?
803名無し~3.EXE:2006/05/20(土) 23:10:00 ID:OdqXCG58
ほしゅ
804名無し~3.EXE:2006/05/21(日) 11:54:32 ID:Exl0Q9ju
バッチファイルで、バッチコマンドのみで、外部のテキストファイル内の文字列を
パラメータに渡すことって可能ですか?
805名無し~3.EXE:2006/05/21(日) 12:06:18 ID:+VTvYT8c
>>804
for /?
806名無し~3.EXE:2006/05/21(日) 13:27:41 ID:Exl0Q9ju
>>805
eeeee!
これから出勤なんで、帰ってきてからゆっくり調べてみます。どうもです!!


やりたいことは、外部テキストにパスだけを書き出しておき、
それを読み込んで、そのパスのファイルを移動したり、削除したりしたいのです。
そのパスがPC毎に固定されていないので、毎回調べて外部ファイルに書き出し、
それを別のバッチファイルを呼び出すときのパラメータにしたくて、
質問してしまいました。

自分では、「どうも不可能だな」という結論で、念のためカキコしたのですが、
使ったこともなかったWSHに手を出し始めたところでした・・・。
807名無し~3.EXE:2006/05/21(日) 14:12:43 ID:8JQiIKNY
> やりたいことは、外部テキストにパスだけを書き出しておき、
> それを読み込んで、そのパスのファイルを移動したり、削除したりしたいのです。
> そのパスがPC毎に固定されていないので、毎回調べて外部ファイルに書き出し、
> それを別のバッチファイルを呼び出すときのパラメータにしたくて、

何の問題もなくforで可能だな。この機会にwsh覚えちゃうのもいいし、まぁガンバレ。
808名無し~3.EXE:2006/05/21(日) 17:09:16 ID:dwRA8U+F
このスレでの質問のうち、半分は、forで解決する。
809名無し~3.EXE:2006/05/22(月) 00:09:55 ID:3RyeBxvn
>808
その中の半分以上は、Windows95/98/MeではWSHを使わないと解決しない気がする。
810名無し~3.EXE:2006/05/22(月) 00:24:34 ID:y0eFI/dl
cmd が bash などよりも優れている点ってありますか
811名無し~3.EXE:2006/05/22(月) 00:37:10 ID:NDwdFyTs
>>810
NT系なら必ず入っている、という点。
812名無し~3.EXE:2006/05/23(火) 00:17:56 ID:QHDk4tqB
806デス

できました!!ありがとうございました!!!
私の調べ不足が原因とはいえ、
よくわかっている方から示唆をもらえるのは
本当に助かりますし、ありがたいものだとしみじみ思いました。

それから、これを機会にWSHも勉強してみることにしました。
できた喜びをAAで表しておきます。どうもどうも。

  (゜∀゜) …
  (ヽ/)
  <●>
     ●
  (゜∀゜)ノ ハッ !!
  (ヽ )
  <●>
  ●
 ((゜∀゜) ハッ !!
  (  /)
  <●>
  ●   ●
 ((゜∀゜)ノ ハッ !!
  (  )
  <ω>
813名無し~3.EXE:2006/05/29(月) 20:40:05 ID:XWssDCMh
起動してから5分おき、1時間おきにプログラムを実行してくれて、
最後のプログラム実行したら終わってくれるような
batファイルってどう書けばいいんですか?

AT 10:00 プログラム
AT 10:05 プログラム
AT 10:10 プログラム
みたいに時間指定しないで、起動した時から5分おきとか1時間おきに実行したいです。
814名無し~3.EXE:2006/05/29(月) 21:05:37 ID:HTGcs1mr
Sleep.exeでも使うか、適当な待機処理噛ませればいいだけじゃん。
Sleep.exeはググれば拾えるし、batでの待機処理のサンプルも腐るほど転がってるので
あとは自分でがんばろう。
815815:2006/05/29(月) 21:22:52 ID:xJT5aRnI
win2003だとschtasksでできるみたいだけど、wincron使うとか?
http://www.ryerson.ca/~sgray/
816名無し~3.EXE:2006/05/29(月) 21:30:06 ID:hDH2ZYz4
>>813
外部コマンドを探せばスマートに解決するが、ここに質問したってことは
標準コマンドの範囲で解決したいってことだろうから、WSHも使わずにBATのみで
実現する方法をば。
以下をコマンドプロンプトで実行てみて、後はどう応用すれば実現できるか考えてくれ。
(WindowsXPのコマンドプロンプトで確認)

for /f "tokens=1-5 delims=/ " %I in ('net statistics server ^| find "開始日時"') do echo YY=%J MM=%K DD=%L TIME=%M
817813:2006/05/29(月) 21:50:30 ID:XWssDCMh
みなさん、レスありがとうございます。

>>814
待機処理ですね、分かりました、ググって見ます。
>>816
for /f "tokens=1-5 delims=/ " %I in ('net statistics server ^| find "開始日時"') do echo YY=%J MM=%K DD=%L TIME=%M
これですか、なんか難しそうですけど、試してみます。
818813:2006/05/29(月) 21:52:26 ID:XWssDCMh
あっ、>>815も俺へのレスでした。
ありがとうございます。
Cronですか〜、ツール使わずに出来れば標準コマンドだけで済ませたいです。
819名無し~3.EXE:2006/05/29(月) 21:57:26 ID:ZrnSfdY0
>>817
もし、WindowsXPでだけ動作すればよいのなら
for /f "tokens=1-9 delims= 日時間分秒、" %I in ('systeminfo ^| find "システム起動時刻"') do echo %K %L %M
820名無し~3.EXE:2006/05/29(月) 22:02:09 ID:ZrnSfdY0
訂正

for /f "tokens=1-9 delims=: 日時間分秒、" %I in ('systeminfo ^| find "システム起動時刻"') do echo %K %L %M %N
821名無し~3.EXE:2006/05/29(月) 22:06:32 ID:ZrnSfdY0
さらに訂正(半角、全角のスペースに注意)


for /f "tokens=1-9 delims=: 日時間分秒、 " %I in ('systeminfo ^| find "システム起動時刻"') do echo %K %L %M %N
822名無し~3.EXE:2006/05/29(月) 22:47:57 ID:G3qZk8Sl
ping だろ
823813:2006/05/29(月) 22:51:11 ID:XWssDCMh
ググった結果このやり方しか分かりません。。・゚・(ノД`)・゚・
2つbatファイルを使って、

・Perlを実行.bat
  Perl プログラム〜
  call WAIT.BAT 300(←300秒WAIT)
  Perl プログラム〜
  call WAIT.BAT 300(←300秒WAIT)
  Perl プログラム〜

・WAIT.bat
  @echo off
  echo 約%1 秒間 WAIT します。
  ping localhost -n 2 > nul
  ping localhost -n %1 > nul
  echo 再開します。

>>816
現在時刻を取ってくるっぽいですけど、応用の仕方が全然分かりません。・゚・(ノД`)・゚

>>821
for /f "tokens=1-9 delims=: 日時間分秒、 " %I in ('systeminfo ^| find "システム起動時刻"') do echo %K %L %M %N
これを具体的にbatファイルにどのように書けばいいんでしょうか?
ググってここを読んだのですか、いまいちよく分かりませんでした。。・゚・(ノД`)・゚・
http://www.atmarkit.co.jp/fwin2k/operation/command008/command02.html
824名無し~3.EXE:2006/05/29(月) 22:59:54 ID:ZrnSfdY0
>>823
816の奴は、起動した時刻を取得する。
これから現在時刻をさらに取得して、その差を計算する。
821は、既に相対時刻が取得できるので、あとは単純に判定するだけ。

batにどう書けばよいかって、何がわからんの?
825813:2006/05/29(月) 23:13:52 ID:XWssDCMh
どこに何分後に実行するの何分後を書けばいいんでしょうか?
当方、DOSコマンドほとんど知らないのでまったく分かりません。・゚・(ノД`)

Perlを実行.batの中身を
  Perl プログラム〜
  for /f "tokens=1-9 delims=: 日時間分秒、 " %I in ('systeminfo ^| find "システム起動時刻"') do echo %K %L %M %N
  Perl プログラム〜
  for /f "tokens=1-9 delims=: 日時間分秒、 " %I in ('systeminfo ^| find "システム起動時刻"') do echo %K %L %M %N
  Perl プログラム〜

とすればいいんでしょうか?
826813:2006/05/29(月) 23:14:37 ID:XWssDCMh
× どこに何分後に実行するの何分後を書けばいいんでしょうか?
○ どこに何分後に実行するの何分後をどこに書けばいいんでしょうか?
827名無し~3.EXE:2006/05/29(月) 23:21:01 ID:ZrnSfdY0
大サービスだ
これ以上は、ヘルプで調べろ。
help
if /?
for /?
set /?

-----< sample.bat >-------------------------------------------
setlocal EnableDelayedExpansion
for /f "tokens=1-9 delims=: 日時間分秒、 " %%I in ('systeminfo ^| find "システム起動時刻"') do (
set /a t = %%K * 86400 + %%L * 3600 + %%M * 60 + %%N
if !t! geq 3600 (echo 1時間以上経っています) else (echo 1時間未満です)
)
endlocal
------------------------------------------------
828813:2006/05/29(月) 23:25:37 ID:XWssDCMh
>>827
ありがとうございます!
とりあえず、がんばって設定してみます。
出来次第、また報告に来ます。m(_ _)m
829名無し~3.EXE:2006/05/29(月) 23:28:03 ID:ZrnSfdY0
別に遅延環境変数を使う必要も無かったね。

-----< sample.bat >-------------------------------------------
@echo off
for /f "tokens=1-9 delims=: 日時間分秒、 " %%I in ('systeminfo ^| find "システム起動時刻"') do (
set /a t = %%K * 86400 + %%L * 3600 + %%M * 60 + %%N
)
echo %t%
if %t% geq 3600 (echo 1時間以上経っています) else (echo 1時間未満です)
------------------------------------------------
830813:2006/05/30(火) 01:02:18 ID:wRRXYyJu
分からない_| ̄|○

'systeminfo' は、内部コマンドまたは外部コマンド、
操作可能なプログラムまたはバッチ ファイルとして認識されていません。

とか出るんですが。
831名無し~3.EXE:2006/05/30(火) 01:37:45 ID:c9o6aVEO
>>830
systeminfoはWinXPのコマンド。もしかするとXPでもHomeには無いのかも。
それにね、何も考えずにあれこれしないで、ちっとは頭を使ってくれ。
君のやりたいことは起動xx分後に〜したいってんだろ?
君に必要なのは、起動時刻のほうであって、起動後何分経ってるのかじゃないだろ?
解決方法
1) 起動時刻+xx分を求める。
  (ここで頭を使え。例えば1:50に2:30を足すと、3:80じゃなくて4:20だから。同じく24時間で日付も変わる)
2) それを使ってATコマンドを呼び出す
832813:2006/05/30(火) 01:48:43 ID:wRRXYyJu
>>831
何度もレスありがとうございます。
いや、Windowsの起動は関係なしに、
手動でbatファイル起動で、その中身は、
Perl プログラム1を実行、その後(5分後、1時間後など)にPerlプログラム2を実行、
さらに5分後、1時間後などにPerlプログラム3を実行とやりたいんです。
833名無し~3.EXE:2006/05/30(火) 01:51:19 ID:pIX0CnkV
>>832
なら、起動時間を現在時刻と読み替えてくれ。
echo %date%
echo %time%
これを同様にforコマンドで各々の数値に分解する。
834名無し~3.EXE:2006/05/30(火) 01:52:50 ID:pIX0CnkV
補足
forコマンドじゃなくて、setコマンドで各要素に分解できる
835813:2006/05/30(火) 15:15:48 ID:wRRXYyJu
>>834
出来ました!
ありがとうございました!
836名無し~3.EXE:2006/05/30(火) 17:28:49 ID:9+/uKKP7
Perlが使えるのならPerlスクリプトの最後に
sleep 5*60;
とか追加すればいいんじゃないの? という気もするが
まあ、出来たのならいいか。
837名無し~3.EXE:2006/05/30(火) 17:32:49 ID:CMJiG8UM
スクリプトの実行時間
838名無し~3.EXE:2006/05/31(水) 14:51:52 ID:ehaNdNUe
まあ、本人がsleepもpingを使う方法もちゃんと知ってるわけだし
あえてそれでもそれらの方法を使いたくないわけがあったんだろう。
839名無し~3.EXE:2006/06/01(木) 02:48:44 ID:rkVKZ+GA
mdってフォルダ名ごとにスペース挟めば複数一気に作れるのね…
forやらifやらで試行錯誤してた自分て一体orz
840名無し~3.EXE:2006/06/02(金) 00:58:28 ID:RBTaNmRH
ちょっと質問です

あるディレクトリにいたとき、相対パスで、サブディレクトリのファイルを列挙するには
バッチファイルに、どのように書いたら良いでしょうか?

例えば
 root\sub1\
      \sub11
         filea.txt
         fileb.txt
      \sub12
         filec.txt
とあったときに、root\sub1ディレクトリで、バッチファイルを実行すると
  sub11\filea.txt
  sub11\fileb.txt
  sub12\filec.txt
と列挙したいのです。

forで列挙して、カレントディレクトリを""で置換、とか色々考えたんですが
どうしてもできませんでた(´・ω・`)
841名無し~3.EXE:2006/06/02(金) 07:33:33 ID:esdyLEkI
dir /b /s
842名無し~3.EXE:2006/06/02(金) 13:10:00 ID:ax3oW8Wl
@echo off
set current=%cd%
if %current:~-1% neq \ (set current=%current%\)
setlocal EnableDelayedExpansion
for /f "delims=" %%I in ('dir /b /s') do (
set d=%%I
echo !d:%current%=!
)
endlocal
843名無し~3.EXE:2006/06/02(金) 18:51:26 ID:/GbXn/us
aaaa000a〜d
aabb000a〜d
abcd001〜999

のような並び順で連番のファイルが一つのフォルダに一緒に入っている場合
一気に001〜のように
同じ並び順でリネーム出来ないでしょうか?
拡張子は同じです
844名無し~3.EXE:2006/06/02(金) 20:28:51 ID:cc/H8dcE
>>843
@echo off
setlocal enableextensions enabledelayedexpansion
set n=1
call :sub aaaa000?.jpg
call :sub aabb000?.jpg
call :sub abcd*.jpg
goto :EOF
:sub
for /F "usebackq delims=" %%i in (`dir /B /ON %1`) do (
set fname=000!n!
set fname=!fname:~-3!%%~xi
echo ren %%i !fname!
set /A n+=1
)
goto :EOF
845名無し~3.EXE:2006/06/03(土) 18:53:52 ID:yB/4SJWQ
ハンドブック買って勉強してたんだけど、全然詳しくなかったんだなぁ…
ここ来て初めてsetlocalとかsetコマンドの%PATH:~10,5%みたいな存在知ったわ
ヘルプファイルって見てみるもんだねぇ
846名無し~3.EXE:2006/06/03(土) 19:24:18 ID:uEKw3tV8
コマンドラインヘルプが一番詳しくてわかり易いって反則だよなあ
まあXPでWindowsヘルプも追いついてきたけど。
847名無し~3.EXE:2006/06/04(日) 23:14:48 ID:HCceAXIE
起動時のカレントディレクトリって変更する場合、
ショートカットを作成→プロパティの「作業フォルダ」を変更するしかないんでしょうか?

あと、会社のPCだと、
フォルダを開いている状態から、Ctrl+R→cmdでコマンドプロンプトを呼び出すと、
開いているフォルダがカレントディレクトリになって起動するんですが、
これって何を設定すれば良いんでしょうか?
848名無し~3.EXE:2006/06/05(月) 00:02:14 ID:kefCXEX+
フォルダで右クリックメニューに、コマンドプロンプトを追加すれば?
昔からある、CmdHere(Powertoysの中のコンポ)とか窓の手とかで
849847:2006/06/05(月) 01:22:31 ID:wD0ZI6P2
>>848
右クリックメニューに入れるって方法があったんですね。
早速やってみます。
ありがとうございました。
850名無し~3.EXE:2006/06/05(月) 09:32:53 ID:nyy9YtKU
851名無し~3.EXE:2006/06/05(月) 12:10:30 ID:hB7qJdsq
開いてるフォルダから起動できるファイラもあるよ
852名無し~3.EXE:2006/06/05(月) 20:25:23 ID:N0MKj1WG
CmdHereでも出来るし
853名無し~3.EXE:2006/06/05(月) 20:49:56 ID:ZyYwSUHb
Powertoysの中でも、CmdHereとSendtoX(Clipbroard as Nameだけ)は昔から使ってるよ。
854名無し~3.EXE:2006/06/05(月) 20:51:41 ID:ZyYwSUHb
そういや、Tweak UI もPowertoysの一つだったね。
855名無し~3.EXE:2006/06/05(月) 21:02:46 ID:gYh12Z8V
>>853
おれも最近まで SendToX 使ってたけど、
http://www.digidigiday.com/digidigi/dgbrand/#oshiname とか、
http://www.notava.org/software/scrapbook/
とかを入れたので使わなくなった。
856名無し~3.EXE:2006/06/05(月) 22:53:21 ID:nUe1VBQF
>>855
常駐ものはヤダ!
857名無し~3.EXE:2006/06/06(火) 00:46:13 ID:JHkHDE81
858名無し~3.EXE:2006/06/06(火) 22:57:36 ID:O2oDxCZQ
ftpをさせるバッチファイル作成しウィンドウズのタスクスケジューラを使用し
定期的にFTPさせようとしています。
コマンドプロンプトを起動させ、該当のバッチファイルを実行すると正常に動くのですが
バッチファイルをダブルクリックすると「プロセスが使用中です」というメッセージがでバッチが正常に動きません
ご教授してくれたら幸いです。(対象OS:2003サーバ)
またログへの出力が不具合の原因かと思いログへの出力をやめたところ
バッチが終了せずctrl + C で強制終了しないといけなくなりました。

***バッチの内容****
ftp -s:FTPの内容の書いたファイル(フルパス) >> ftp.log
exit

参考ページとして
http://forum.nifty.com/fpcu/top/dostree.htm
をみました
859名無し~3.EXE:2006/06/06(火) 23:49:54 ID:2iahu6Xd
ftp.bat
860名無し~3.EXE:2006/06/07(水) 01:38:37 ID:XZXR/mwz
コマンド名と同じ名前のBATファイルを作ると混乱の元
861名無し~3.EXE:2006/06/07(水) 09:08:21 ID:oqJIgTQ1
                 ハ_ハ  
               ('(゚∀゚∩ .exeまで付けるよ!
                ヽ  〈 
                 ヽヽ_)
862名無し~3.EXE:2006/06/07(水) 23:50:28 ID:ttfCYASF
ftp.exe.batか。
863名無し~3.EXE:2006/06/08(木) 22:45:43 ID:15BZ8Cdy
>>847

旗+R (ファイル名を指定して実行) で 「cmd」と入力 (普段は 旗+R Enter でできてしまう)。
窓が開いたら、"cd /d " そしてエクスプローラーからディレクトリをD&D
864名無し~3.EXE:2006/06/08(木) 23:19:04 ID:bNMGOa1p
%1にファイルのパスを入れてくるバッチで
そのファイルのファイル名を抜かした
ディレクトリパスまでを取得するにはどうすればいいのでしょうか?
865名無し~3.EXE:2006/06/08(木) 23:23:18 ID:vk5qK9fh
%~dp1
しか無いな
866864:2006/06/08(木) 23:27:26 ID:bNMGOa1p
>>865
速攻レスサンクスです。
867名無し~3.EXE:2006/06/09(金) 00:39:17 ID:TppoDmC1
環境変数にテキストファイルの内容を代入する方法ってないでしょうか?

set envdat=<envdat.txt
のような感覚です

868名無し~3.EXE:2006/06/09(金) 01:26:48 ID:9ZFgPP52
>>867
そこでforですよ。
このスレの質問のうち半分はforで解決する。
869名無し~3.EXE:2006/06/10(土) 05:21:37 ID:I/XnHwT4
質問です
バッチファイルから*.infファイルをインストールする方法を教えてください。
直接指定するとメモ帳で開いてしまいます
お願いします

870名無し~3.EXE:2006/06/10(土) 05:57:59 ID:ZveRD3on
レジストリのinffileの欄でinstall - commandには
%SystemRoot%\System32\rundll32.exe setupapi,InstallHinfSection DefaultInstall 132 %1
と書かれていた。
参考になるかな?
871名無し~3.EXE:2006/06/10(土) 08:49:50 ID:VNnzHhmG
test.inf 右クリック 開けゴマちゃん
872名無し~3.EXE:2006/06/10(土) 11:22:33 ID:I/XnHwT4
>>870
わざわざ調べて頂きありがとうございます。
具体的にバッチファイルにどのように記述するのでしょうか?
度々すいません。お願いします。
873名無し~3.EXE:2006/06/10(土) 11:27:30 ID:ZveRD3on
そのままコピペで良いんでないかい?
874名無し~3.EXE:2006/06/10(土) 14:34:52 ID:itNi7T5C
>>873
そんなことを言ったら%1までコピペしかねないぞ。
875名無し~3.EXE:2006/06/10(土) 20:37:47 ID:A+Hz2LYJ
%1までコピペでいいんじゃねー?
パラメタにinfファイル指定したいんだろ?
876869:2006/06/11(日) 15:26:51 ID:j3/Q2u2E
>>870-875
みなさん、ありがとうございました。
希望通りのバッチファイルを作る事が出来ました。
OS再インストール後にいくつかのドライバ等をサイレントで入れるバッチファイルを作りたかったのです。

%SystemRoot%\System32\rundll32.exe setupapi,InstallHinfSection DefaultInstall 132 %DIRECTORY_PATH%\test.inf
877名無し~3.EXE:2006/06/13(火) 23:43:27 ID:2ZTcs+a0
重箱の隅

C:\>netsh firewall set notifications /?


set notifications
[ [ mode = ] ENABLE|DISABLE
[ profile = ] CURRENT|DOMAIN|STANDARD|ALL ]

ファイアウォールの通知の構成を設定します。

パラメータ:

mode - 通知モードです。
ENABLE - ファイアウォールからのポップアップの通知を許可します。
DISABLE - ファイアウォールからのポップアップの通知を許可しませn。 ←←←←

878名無し~3.EXE:2006/06/16(金) 07:13:25 ID:m91EGrIt
質問させてください。

あるフォルダの中の、任意のサブフォルダを削除することってできるのでしょうか?
rmdirだと、ワイルドカードが効かないみたいなのですが・・・。

親フォルダは消したり、moveとかrenとかで移動したり名前の変更したりせずそのままにしておいて、
中のフォルダだけ消したいのですが。

何か示唆がありましたらお願いします!
879名無し~3.EXE:2006/06/16(金) 10:30:27 ID:eh8JUzl6
すみません。ちょっと、教えて下さい。コマンドプロンプトを
使って、複数のファイルの文字コードを全部UTF-8に変えたいの
ですが、どうすれば良いのでしょうか。
UNIXだと、「nkf -w ./*」 とすれば良いのですが、windowsで
すので、コマンドプロンプトでやる必要があるのです。

どなたか教えて下さい。よろしくお願い致します。
880名無し~3.EXE:2006/06/16(金) 10:41:58 ID:uWTnIn/Y
コマンドプロンプトでやる必要があるならnkfのWin32版でも拾ってきなさいと
881名無し~3.EXE:2006/06/16(金) 12:15:29 ID:kf/HmHil
>>878
for
882名無し~3.EXE:2006/06/16(金) 18:06:59 ID:bH06aMM7
replaceについて

REPLACE [ドライブ1:][パス1]ファイル名(複数可) [ドライブ2:][パス2] /A /P /R /S /W /U

と大抵の解説サイトには有るんですが
replaceで*.txtとかじゃなく同じ場所に有る特定のテキストファイル複数個を指定する場合
ファイル名のところにどう繋げれば良いんでしょうか?

A.txt+B.txt+C.txt →ダメ
A+B+C.txt → ダメ
A,B,C.txt →ダメ

3行に分けるしかないんでしょうか?
883名無し~3.EXE:2006/06/16(金) 18:52:17 ID:AxSpQtFg
セミコロンは?
884名無し~3.EXE:2006/06/16(金) 18:53:11 ID:kf/HmHil
>>882
for
885名無し~3.EXE:2006/06/17(土) 00:00:01 ID:TKuNTTBG
WindowsXPでCUIのアプリを作成しているのですが、フリーのテストツールってありませんか?
引数、標準入力を指定し、戻り値、標準出力、標準エラーを期待値に設定できるようなものです。
886名無し~3.EXE:2006/06/17(土) 01:41:22 ID:NOBVjDNY
いまいるディレクトリ以下にあるすべてのファイルを対象として
指定された日付より後に更新されたファイルのフルパスとファイル名
を表示するにはどうしたらいいですか?
887名無し~3.EXE:2006/06/17(土) 03:41:19 ID:b8K7+I0m
@echo off
set targetdate=2006/06/17 03:00
for /f "delims=" %%I in ('dir /a-d /b /s /on') do (
if "%%~tI" geq "%targetdate%" (
echo path="%%~dpI" --- file="%%~nxI"
)
)
888886:2006/06/17(土) 08:58:28 ID:NOBVjDNY
>>887
感動しました。
889名無し~3.EXE:2006/06/17(土) 23:10:04 ID:ZyoppbW4
forfiles /D 2006/6/17 /c "cmd /c echo @path"
890名無し~3.EXE:2006/06/18(日) 18:35:04 ID:V0UYLl8o
ファイル内の特定文字を置換するものを作ろうとしています。

具体的には、「"」ありのCSVファイルから「"」のみを削除したく。
test.batだと、outputのように最初と最後の「"」しか削除されません。

どうすればいいでしょうか?

【data.csv】
"1","2","3","4","5","6","7","8","9"
"2","2","3","4","5","6","7","8","9"
"3","3","3","4","5","6","7","8","9"

【test.bat】
for /f "tokens=1,1*" %%I in (data.csv) do @echo %%~I

【output】
1","2","3","4","5","6","7","8","9
2","2","3","4","5","6","7","8","9
3","3","3","4","5","6","7","8","9


891名無し~3.EXE:2006/06/18(日) 19:26:49 ID:asG5WCS8
コマンドライン上でオブジェクトのプロパティを開く方法ってないカナ?
エクスプローラー上で Alt+Enter の動作をコマンドラインから実現したいんですが…
892名無し~3.EXE:2006/06/18(日) 19:43:08 ID:0p0O1w6I
893名無し~3.EXE:2006/06/18(日) 20:32:17 ID:KzilFqOu
>>890
@echo off
REM sed -e "s/\"//g" data.csv
setlocal EnableDelayedExpansion
for /F "delims=" %%i in (data.csv) do (
set s=%%i
echo !s:"=!
)
894890:2006/06/19(月) 00:26:29 ID:yDJrrt+I
>>839
thanks!!
895名無し~3.EXE:2006/06/19(月) 14:20:54 ID:F1VupKRK

dir > dir_現在の日付.txt

といったようにファイル名に現在の日付や時刻を
つけて保存したいのですがどうしたらいいのでしょうか?

ご教授願います
896名無し~3.EXE:2006/06/19(月) 14:28:42 ID:ayAxn5Zb
%date%
%time%
897名無し~3.EXE:2006/06/19(月) 21:53:45 ID:M1ZP7D9E
なんかこのスレではほとんど話題になってないけど
NYAOSユーザーってどのくらいいる?

かなりLinuxっぽくて便利な代物だと思うんだけど。
898名無し~3.EXE:2006/06/19(月) 23:03:15 ID:tN8hSDIW
ノシ
Linuxっぽいかは知らないけどexeひとつだし、便利だから使ってますよ。
899名無し~3.EXE:2006/06/21(水) 10:02:08 ID:M3ZXueJT
WindowsXPのdos(コマンドプロンプト)で、Alt+半角キーを押しても
モードが漢字入力に変わりません。インストール直後は動いていましが
最近、dosでMySQLで日本語のデータを入力しようとして気がつきました。
ご教授よろしくお願いします。
900名無し~3.EXE:2006/06/21(水) 10:51:50 ID:ac+YpNd5
どこでもかしこでも、
ご教授、ご教授って
釣りか?2ch用語か?
教えてくださいとかご教示くさだいとかちゃんとした言葉を言えないのか?
901名無し~3.EXE:2006/06/21(水) 11:05:35 ID:umxnToT3
ご教示くさだい の検索結果のうち 日本語のページ 約 11 件

ご教授よろしくお願いします の検索結果のうち 日本語のページ 約 46,800 件
902名無し~3.EXE:2006/06/21(水) 18:38:07 ID:x6w2mtMc
>>901
誤用の方が多い典型例。
「ご教示」で検索すればわかるよ。
903名無し~3.EXE:2006/06/21(水) 18:48:18 ID:ac+YpNd5
>>901
つっこみおk

>>902
くさだい
 ~~
904名無し~3.EXE:2006/06/21(水) 19:11:37 ID:Y2jN20/u
>>900-903
揚げ足ばっか取ってイジメかよ。まったく・・・


>>899
>インストール直後は動いていましが
「いましが」ってなんですか?
905名無し~3.EXE:2006/06/21(水) 19:35:07 ID:fcrrEmHp
べっ、別にアンタの為に突っ込んでるわけじゃないんだからね!
906名無し~3.EXE:2006/06/21(水) 20:07:27 ID:RCtOkOqR
ttp://www.tt.rim.or.jp/~rudyard/torii009.html
によればあながち間違いでもなくね?
正確な方の意味で使ってる可能性もなくはない。
907名無し~3.EXE:2006/06/21(水) 20:28:26 ID:x6w2mtMc
>>903
('A`)

>>906
そのページを本当に上から下まで読んだの?

経験上、意味を深く考えもせずに普段使い慣れない言葉を使ってみる、
答えをもらったとたんに豹変する質問者に多いパターンだと思うよ。
正に中身は無礼だけど外見だけ体裁を整えようとしてちゃんと出来て
いない、慇懃無礼という言葉がぴったりの。

なんだかオヤジ臭くなってるな、俺。
908名無し~3.EXE:2006/06/21(水) 20:57:25 ID:fJ+3K2oK
>>901 のIDもなかなk
909名無し~3.EXE:2006/06/21(水) 21:12:30 ID:7p44oK0r
言語学板行けあほども
910名無し~3.EXE:2006/06/23(金) 14:22:20 ID:yqouTnFD
>907
読んだ上で書いたよ。だから「可能性もなくはない」って。

初めから「ご教授願います」と書かれた書き込み全てを
誤用と決めつけてかかるの?

2chでよく見かける「的を得る」とか「独壇場」とかとはわけが違う。
911名無し~3.EXE:2006/06/23(金) 14:29:43 ID:ua+7cFlm
>>910
屁理屈をこね回して楽しい?
912名無し~3.EXE:2006/06/23(金) 17:55:28 ID:5i5snvnY
2000からXPに乗換えるのを嫌がっていたが、
コマンドプロンプトが、バグが取れたり、さらに便利になっているので腹を括った。
913名無し~3.EXE:2006/06/23(金) 20:34:05 ID:jUsKI7xZ
vistaはイベントビューアの詳細の内容をスクロール
させなくても確認できやすくなるようだよ。
914名無し~3.EXE:2006/06/23(金) 21:26:49 ID:1LcKe9pJ
慣れていないせいなのかVistaのイベントビューアは使いにくい
915名無し~3.EXE:2006/06/24(土) 20:11:27 ID:veVB/w7M
イベントビューアとコマンドプロンプトの使いにくさは、どうにかならんかな。
logparser使ったり、telnetサーバ立ち上げると、多少、改善されるかな。
sshサーバくらい入ってて欲しいが。
916名無し~3.EXE:2006/06/24(土) 21:08:17 ID:3GO7nAR+
telnetがコマンドプロンプトより使いやすい?
917名無し~3.EXE:2006/06/24(土) 21:10:32 ID:1H8sMPQj
わけ
わか
らん
918名無し~3.EXE:2006/06/24(土) 22:13:09 ID:3+TOuIsg
会社の研修で、担当者が余談として、
windows updateに重要な更新があるかどうかを確認できるコマンド
(windows XPのマシンで見せてくれました)を教えてくれたのですが、
忘れてしまいました。

どなたかご存じの方いらっしゃいませんか?もし分かれば教えて欲しいのですが・・
919名無し~3.EXE:2006/06/24(土) 22:40:10 ID:veVB/w7M
>>916
>telnetがコマンドプロンプトより使いやすい?

telnet接続に使うターミナルソフト選べば、コマンドの実行結果を
コピーしたり、コマンドを貼付けたりだけでも、コマンドプロンプト
そのままを使うより、かなり操作しやすくなるという意味だけど。
920名無し~3.EXE:2006/06/24(土) 22:43:30 ID:3GO7nAR+
>>918
Microsoft Baseline Security Analyzer 2.0
921名無し~3.EXE:2006/06/24(土) 22:46:59 ID:+9j0PcoD
>>919
cmd.exeでも出来るやん。
922名無し~3.EXE:2006/06/24(土) 23:36:58 ID:EFcp2dhT
QuickEdit = 0のまま、で使いにくいと思ってるんじゃ
923名無し~3.EXE:2006/06/25(日) 00:37:33 ID:RYXYBvKa
入力補完や入力履歴も知らないんだよきっと。
924名無し~3.EXE:2006/06/25(日) 02:39:57 ID:kNN+t0PN
batファイル関連の入門サイトみたいな所のURLをテンプレに入れて欲しい・・・
925名無し~3.EXE:2006/06/25(日) 09:36:39 ID:wbUrs+8J
>>920
いえ・・・・コマンドラインのコマンドで確認できる奴を探しているのです
926名無し~3.EXE:2006/06/25(日) 10:28:05 ID:yNEmH1UC
同じ会社の人に聞いたのなら、明日その人に聞き直せばええやん。
927名無し~3.EXE:2006/06/25(日) 10:33:48 ID:8Nd87Dpa
WindowsUpdate.logから適当に抜き出してるだけだったりして
928名無し~3.EXE:2006/06/25(日) 13:01:10 ID:VQGuV0o/
>>925
MBSAにはGUIとCUIの両方入ってる。
929名無し~3.EXE:2006/06/25(日) 14:57:51 ID:f5qFsHpf
>>922
あくまで簡易なので、結構使いにくくない?
ついCtrl+CとかCtrl+Vとか押しちゃうし。
930名無し~3.EXE:2006/06/26(月) 03:53:18 ID:u1Pax/fI
Bashいれれ
931名無し~3.EXE:2006/06/26(月) 11:37:23 ID:eR9+7KIB
>>924
どっかいいとこある?
俺は見つけられずに本買ってしまったよ。
2年くらい前だけど。
932名無し~3.EXE:2006/06/27(火) 07:31:50 ID:1H60jGDp
>>931
どんな本買った?
ちゃんとまじめに知りたい場合は本買うようにしてるんだけど
適当な解説しかしてないのしか見たことない…
あんまり詳しく探してもないけど。
933名無し~3.EXE:2006/06/27(火) 17:57:54 ID:ywbfZeNq
「Windows XP/2000 コマンドプロンプト ポケットリファレンス」/ 技術評論社 / \1,980

漏れが持ってるヤツ。
主要なコマンドについて、解説と用例が載ってて入門用には良いんじゃないかと思う。
確か2chで紹介されていて自分も知ったような気がするけど定かではない。
934名無し~3.EXE:2006/06/27(火) 20:07:11 ID:sODDzKPh
>>933
あー俺も買った、その本
いい本だったから 技術評論社信者になってVBSポケットリファレンス買ったら
こっちはクソだった・・・・
935名無し~3.EXE:2006/06/27(火) 20:29:10 ID:mqXgTUPC
>>934
(◕∀◕)オイラモ!
936名無し~3.EXE:2006/06/27(火) 21:29:32 ID:ziM27aTb
コンピュータ関連書籍は著者を見ないと。
937934:2006/06/27(火) 21:37:31 ID:sODDzKPh
そうだね・・・盲信してたよ
でもさ、同じ出版社なら編集者がこれじゃぁNGだな、とか思わないのかな?

おもわんかw
938名無し~3.EXE:2006/06/27(火) 21:56:52 ID:UUNVuRCU
編集者も一人じゃないだろうし、筆者もしがらみで切れない人もいるだろうし。
そもそも編集者がPCに詳しいとは限らん。
文章の組み立て/構成だけチェックしてあとは校正しかしない奴もいるのかも。
939名無し~3.EXE:2006/06/27(火) 22:26:45 ID:OdmFmLs5
そうだよね。
んでも買って損したとは思っていないよ。期待が大きすぎただけ
本を買うのは、いいきっかけ作りになると思う
940名無し~3.EXE:2006/07/01(土) 14:01:15 ID:y0TxlLbi
閉じるボタンがついてないウィンドウやたくさん出てくるウィンドウを
一発で全部消せるコマンドってないですか?
941名無し~3.EXE:2006/07/01(土) 14:44:56 ID:9ZiVxMoV
コマンドプロンプトの/?や/hを日本語化するにはどうすればいいですか?
942名無し~3.EXE:2006/07/01(土) 15:14:42 ID:1IUKeGM7
>>940
taskkill

>>941
日本語版のWindowsを使う
943941:2006/07/01(土) 22:33:11 ID:9ZiVxMoV
>>942
一応日本語版WinXPでプロンプト事態は日本語モードなんよ
でも何故か/?だけが英文表示に(cmd,exe自体も日本語なのに・・・)

OEM版だからとかって関係あるんだろうか・・・諦めるかな
944名無し~3.EXE:2006/07/01(土) 22:44:34 ID:kJrGqxs4
具体的に何のコマンドで?
945名無し~3.EXE:2006/07/02(日) 02:02:49 ID:rrd3Uiys

まさか ipconfig とか ping とかの事じゃないでしょうね > 942
946名無し~3.EXE:2006/07/02(日) 03:18:50 ID:ng0oDEcA
>>943
コマンドプロンプトウィンドウを開くときに使ってるショートカットのプロパティで
コードページが日本語以外になってるとかは
947名無し~3.EXE:2006/07/03(月) 00:33:23 ID:Xzj113Ss
たぶんそれ
/?の結果だけが英文表示なるのはそのケースしかないでしょ
948名無し~3.EXE:2006/07/03(月) 02:22:03 ID:fWXaF90f
コードページが違うと全部変わるよ。\がバックスラッシュになるとかが分かりやすい
俺は多分そうじゃないと思う。
chcp 437
とかコマンドで変えないと普通変化しないと思うし。
949名無し~3.EXE:2006/07/03(月) 16:34:34 ID:6cPjDFiM
ネットワークコンピュータのファイルを消したいのですが
erase \\host\パス名\aaaaa.txt
とやっても消えないんですけど、何か間違っていますか?
950名無し~3.EXE:2006/07/03(月) 18:25:30 ID:3huVEeXR
>>949
表示されたエラーメッセージを見てがんばれ
951名無し~3.EXE:2006/07/04(火) 14:41:22 ID:wc0v2lry
XPのhomeとproで使えるコマンドの種類が若干違うみたいなんだけど
それらをリストしているサイトとかはありますかね?
952名無し~3.EXE:2006/07/05(水) 05:27:30 ID:6oZqBElV
もれはMinGW+msysでWinのコマンドほとんど知らない
953名無し~3.EXE:2006/07/05(水) 08:59:58 ID:Wa6hPqt/
それはそれでアレだな。
954名無し~3.EXE:2006/07/05(水) 23:27:12 ID:LxN8ss0Z
>>951
内部コマンドに違いは無い。
外部コマンドというか、標準で入ってるコマンドラインツールの種類に違いがある。
その辺のことは普通にググれば出てくる。
955名無し~3.EXE:2006/07/08(土) 05:59:32 ID:FL8PyHJr
バッチファイルにフォルダをドラック&ドロップしてフォルダパスを取得し、
プログラムにそのフォルダパスを渡そうと思ったのですが、
この時に窓が起動したパスはバッチファイルがある場所じゃないんですよね。

cdで移動させないとダメなのですが、そのままフルパスを書き込んでしまうと
バッチファイルとプログラムのあるフォルダを移動させた時に書き換えなければなりません。

ドラック&ドロップした時にバッチファイルのあるパスを取得する方法はないのでしょうか?
956名無し~3.EXE:2006/07/08(土) 07:42:24 ID:2Z43z8uu
>>955
プログラムにフォルダパスを渡すのが目的なら、プログラムの実行ファイルかショートカットに
フォルダをD&Dすればいいじゃん。それに何故「D&Dしたフォルダのパスを渡す」のに
バッチファイルのパスが関係してくるのかわからん。
隠さないで、ちゃんと何というプログラムを使ってどういうことがしたいのか書けよ。
隠したいなら、その質問自体心の中に隠しておけ。

つーかパスの取得方法知ってるんだから、%0〜%9(0=バッチ自身、1〜9=実行時引数)とか、
%~f1だの%~dp0だのっていう修飾子は解ってるんだよね?
957名無し~3.EXE:2006/07/08(土) 08:00:01 ID:FL8PyHJr
>>956
済みません、別に隠しておいた訳じゃないんです。
知り合いに作って貰ったjavaのプログラムで、下みたいにして使うんです。
java -classpath ConvLib.jar MakeArchive "フォルダフルパス"

"フォルダフルパス"の所を%1にしてやってみたら>>955で書いたみたくなったのです。
958名無し~3.EXE:2006/07/08(土) 09:53:55 ID:2Z43z8uu
%1 → "%~f1"
でどうだ?
ダメなら一度リダイレクトでそのコマンド自体を出力して確認してみろよ。
というかこれは最初にやるべきことなんだがな。
959名無し~3.EXE:2006/07/08(土) 10:05:07 ID:FL8PyHJr
>>958
どうやら意図が伝わっていないみたいです…。

D&Dでcmdが起動するとタブルクリックの時とは違いカレントフォルダが
バッチファイルのある場所とは違う場所になっているんですよね。
ですのでバッチの中身は下の様にして"バッチファイルのあるフォルダのパス"を
D&Dでどうにかして取得する方法はないかという訳です。

cd "バッチファイルのあるフォルダのパス"
java -classpath ConvLib.jar MakeArchive %1
960名無し~3.EXE:2006/07/08(土) 10:20:12 ID:2Z43z8uu
>>959
>>956に書いたじゃん>>%~dp0

%0 バッチファイルのパス c:\hoge\test.bat
%~d0 ドライブ <c:>
%~p0 パス <\hoge\>
%~n0 ファイル名 <test>
%~x0 拡張子 <.bat>

なのでdpならドライブとパスでc:\hoge\test.batに対してc:\hoge\が取得できる。
961名無し~3.EXE:2006/07/08(土) 10:48:44 ID:FL8PyHJr
おぉ、dpとかの機能を正しく理解していませんでした…。
お手間を取らせてしまい申し訳ありませんでした。
そしてご丁寧に教えて下さり、ありがとうございました。
962名無し~3.EXE:2006/07/08(土) 18:16:48 ID:IP7ZlJVS
質問です。

batファイルを作って、
複数のファイルをドラッグして
渡されたファイル1つ毎に同じ処理をしたいと思います。
forを使って出来るかなと思ってヘルプを読んだりしましたがわかりません。

for %%i (引数で渡されたファイル毎に) do (
他のコマンドA %%i
他のコマンドB %%i
)

どなたかご存知でしたら教えてください。
963名無し~3.EXE:2006/07/08(土) 19:03:46 ID:wr6yuu9j
shift
964名無し~3.EXE:2006/07/08(土) 19:03:59 ID:2Z43z8uu
for %%i in (%*) do

ちなみにshiftとgotoを使う手もある。
965962:2006/07/08(土) 19:22:03 ID:IP7ZlJVS
>>963-964
ありがとうございます
出来ました
966名無し~3.EXE:2006/07/09(日) 03:20:48 ID:k9je+Jen
自作プログラム使ってテキストに書き込むってのやりたいんですけど、Dos窓から

自作プログラム -k[ここにaaa.txtに送り込みたい内容] aaa.txt

で実行なんですが複数行にするとそのプログラムが受け付けないです。
aaa.txtに送り込みたい内容を複数行にしたいです。

こういうときってどうすればいいんでしょうか?
なんか&#0173;みたいなの使って改行を表す方法ないですか?
967名無し~3.EXE:2006/07/09(日) 03:57:59 ID:ZgiFyndQ
こっちに引っ越してきても同じこと。
ファイルかパイプ渡ししろ
968名無し~3.EXE:2006/07/09(日) 14:13:17 ID:i5j0UCX3
自作プログラム側である文字列を改行コードとして認識して書き込むときに改行コードに変換すればいいじゃん。
例えば"aaa.txtに送り込みたい内容"の文字列中の"_CRLF_"は改行コードに変換してaaa.txtに書き込めばいい。
あいうえお
かきくけこ
と書き込みたい場合は
aaa.exe -k[あいうえお_CRLF_かきくけこ] aaa.txt
みたいな感じで。
969名無し~3.EXE:2006/07/09(日) 22:23:02 ID:mHAHDzjC
そんな変換するくらいなら、ファイル入力(別に標準入力でも同じだけど)を作った方が楽なんじゃない?
970名無し~3.EXE:2006/07/10(月) 00:29:11 ID:tKP9/6jd
確かに単語(複数バイト長の)変換は結構大変だね
971名無し~3.EXE:2006/07/10(月) 15:03:43 ID:JpfPFJv5
dir /b >a.txt
でファイルリスト作るときに、そのファイル内の行頭・行末に'をつけたいときはどうすればよい?


a.txtの中を
'filename1'
'filename2'
...
みたいにしたいんだけど。
972名無し~3.EXE:2006/07/10(月) 15:12:31 ID:UjwK8SZ8
>>971
dirコマンドではそういう形式での出力は出来ないから、
後からa.txtを読み込んで書き換えるとか、
そういう形式で出力できるコンソールアプリを作るとか、
for使ってお好みの出力を行うとか、まあいろいろあるわな。
973名無し~3.EXE:2006/07/10(月) 15:41:22 ID:IktJ6p+G
>>971
for /f "usebackq delims=" %i in (`dir /b`) do echo '%i' >> a.txt
974名無し~3.EXE:2006/07/10(月) 15:53:48 ID:IktJ6p+G
ごめん、こっちのがいいのか
for /f "usebackq delims=" %i in (`dir /b`) do @echo '%i' >> a.txt
975名無し~3.EXE:2006/07/10(月) 19:16:55 ID:IUPBOjmc
次スレの準備しましょうか?
976名無し~3.EXE:2006/07/10(月) 19:19:59 ID:IUPBOjmc
テンプレ

[初心者〜管理者まで必読!コマンドライン(DOS Pt.5)]

 適材適所で GUI と CUI を組み合わせて、(゚д゚)ウマー

前スレ
1 http://pc.2ch.net/win/kako/1002/10023/1002392089.html
2 http://pc5.2ch.net/win/kako/1013/10138/1013833995.html
3 http://pc8.2ch.net/test/read.cgi/win/1062775949/
4 http://pc8.2ch.net/test/read.cgi/win/1116131036/
DOS由来コマンドだけでなく、Windows バージョンアップのたびに拡充されてきたコマンド、
wsh(cscript)、cygwin、Resource Kit、Support Tools、その他のフリーソフト等ふくめ
コマンドラインインタフェースに関するネタならなんでもOK。

質問も歓迎だけど、自分で調べて勉強する努力も忘れずに。
977名無し~3.EXE:2006/07/10(月) 21:52:49 ID:0gdY8zN7
>>974
なんでこの場合にusebackq使うの?何か(隠れた)メリットあるの?
978名無し~3.EXE:2006/07/10(月) 22:32:58 ID:Gfcho6+j
>>977
'%i' を展開するためじゃないの。
979名無し~3.EXE:2006/07/11(火) 00:09:36 ID:4qvvaCeq
*
980名無し~3.EXE:2006/07/11(火) 00:10:12 ID:4qvvaCeq
*
981名無し~3.EXE:2006/07/11(火) 00:11:06 ID:4qvvaCeq
*
982名無し~3.EXE:2006/07/11(火) 00:23:37 ID:HxtG+321
次スレ立てたよ〜

初心者〜管理者まで必読!コマンドライン(DOS Pt.5)
http://pc8.2ch.net/test/read.cgi/win/1152544955/
983名無し~3.EXE:2006/07/11(火) 00:37:10 ID:gLxqbtPB
つぶすか
984名無し~3.EXE:2006/07/11(火) 00:38:07 ID:gLxqbtPB
というわけで、
usebackq
の話は次スレで。
985名無し~3.EXE:2006/07/11(火) 00:39:04 ID:gLxqbtPB
*
986名無し~3.EXE:2006/07/11(火) 00:40:19 ID:bZPkFLg1
ところで、MS-DOS対応のプリンタって少なくなったよね。
987名無し~3.EXE:2006/07/11(火) 00:41:50 ID:bZPkFLg1
今や、生DOSにとっては受難の時代だよね。
988名無し~3.EXE:2006/07/11(火) 00:42:55 ID:bZPkFLg1
LIPS III とか ESC/P 対応のプリンタも少なくなり、消え去るのみか。
989名無し~3.EXE:2006/07/11(火) 00:44:54 ID:HxtG+321
じっさいここ数年、BIOS書き換え以外で使ったことないからなぁ・・・
990名無し~3.EXE:2006/07/11(火) 00:45:01 ID:bZPkFLg1
プリンタに限らず、DOSの需要もなくなってはいないのだが。
(こういう話は他のDOS専用スレでするべきなんだがな)
991名無し~3.EXE:2006/07/11(火) 00:46:58 ID:bZPkFLg1
>>989
たしかにね。自分もまともにDOSつかったのってBIOS書き換えの時かも。
数年前、ISAバスの設定ユーティリティがDOSからしか立ち上がらんので立ち上げたこともあったが。
992名無し~3.EXE:2006/07/11(火) 00:51:24 ID:CZXR7KDi
埋め
993名無し~3.EXE:2006/07/11(火) 00:51:41 ID:HxtG+321
Missing Operating System
994名無し~3.EXE:2006/07/11(火) 00:52:13 ID:CZXR7KDi
埋め
995名無し~3.EXE:2006/07/11(火) 00:52:18 ID:HxtG+321
Invalid system disk.
Replace the Disk and then press any key.
996名無し~3.EXE:2006/07/11(火) 00:53:20 ID:CZXR7KDi
埋め
997名無し~3.EXE:2006/07/11(火) 00:53:53 ID:CZXR7KDi
埋めますよ?
998名無し~3.EXE:2006/07/11(火) 00:54:07 ID:HxtG+321
NTLDR is missing
Press Ctrl+Alt+Del to restart
999名無し~3.EXE:2006/07/11(火) 00:54:28 ID:CZXR7KDi
埋め
1000名無し~3.EXE:2006/07/11(火) 00:55:09 ID:HxtG+321
How many files(0-15)?
10011001
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。