初心者〜管理者まで必読!コマンドライン(DOS Pt.3)
ぐいぐいむらお
4 :
・><input TYPE=hidden NAME= value=:03/09/06 14:59 ID:g69rnmM7
コマンドー
_.. ,,.-'ヽ インターネット巡回ついでにお小遣いを稼ぎませんか。
ヽ "゙ー-、、 / : :! 『現金収入ホームページ』を無料でプレゼントします。
i 、 :. ヽヽ_,,.....、,,,....._;/ ,;' ;,.!
i., ..;;;ヽ ヾ ,,;_ , /
http://www.southernclub.net/members/ukikyosaru.html ヾ_:::,:' -,ノ
ヾ;. , , 、;, @上記URLをクリックしてIDを取得して下さい。無料です。
;; ● , ... 、,● ;: Aメールであなた専用HPのURLが送られてくるのでPRしましょう。
`;. C) ,; ' Bあとは待つだけでクリック数/紹介料/売上に応じたお金が貰えます。
,;' '.、 -‐-ノ ,;'、
;' ;: 高金利なサラ金に手を出す位なら・・・・・
;: ';; 私はこれでここ数ヶ月毎月5〜10万稼いでいます。
_.. ,,.-'ヽ インターネット巡回ついでにウンコを稼ぎませんか。
ヽ "゙ー-、、 / : :! 『水洗トイレ』を無料でプレゼントします。
i 、 :. ヽヽ_,,.....、,,,....._;/ ,;' ;,.!
i., ..;;;ヽ ヾ ,,;_ , /
http://www.southernclub.net/members/ukikyosaru.html ヾ_:::,:' -,ノ
ヾ;. , , 、;, @上記URLをクリックしてIDを取得して下さい。無料です。
;; ● , ... 、,● ;: Aメールであなた専用HPのウンコが送られてくるのでPRしましょう。
`;. C) ,; ' Bあとは待つだけで駆け込み数/待機秒数/排便に応じたお金が貰えます。
,;' '.、 -‐-ノ ,;'、
;' ;: 田舎のボットンに手を出す位なら・・・・・
;: ';; 私はこれでここ数ヶ月毎月5〜10万トン稼いでいます。
7 :
名無し~3.EXE:03/09/07 01:44 ID:loAgnmmS
Win2kでも以外とDosコマンドって使うよな。
俺はipconfig と netstatが無くなったら生きていけん。
>>7 「DOS」コマンドってちょっと違和感。
format.com が 32bit なのもちょっと違和感。
9 :
名無し~3.EXE:03/09/07 01:50 ID:I8i/XSz2
>>7 というよりDOSプロンプトがやっとまともになったのが2kだな
NTはコマンド補完はおろかコピペもできんかったし
バックスクロールできんという時点で終わってたし
コマンドラインツールというよりはただ単に古いゲームを動かすための
ツールだったからな
10 :
名無し~3.EXE:03/09/07 02:14 ID:jh/KwiMl
>>9 なんか言ってることすべてへン
大いなる勘違いしてる気がするぞ
釣られてマジレス。
>NTはコマンド補完はおろか
できる。
>コピペもできんかったし
できる。
>バックスクロールできん
できる。
DosでPATHを指定しているのですが、
path v:\; d:\m; d:\m\c d:\mona\system で
パラメータが多すぎますと出てしまうのですがどうしたらよいでしょうか?
>>13 path v:\;d:\m;d:\m\c;d:\mona\system
しませう。
16 :
名無し~3.EXE:03/09/13 16:17 ID:zVU1H/eu
Word、Excel、PowerPointのドキュメントファイルをコマンドラインから
grepしたんだけど、いい方法ないでつか?
namazu使おうとも思ったけど、いちいちインデックス更新が面倒なんで。
17 :
名無し~3.EXE:03/09/13 16:19 ID:zVU1H/eu
訂正
<grepしたんだけど
>grepしたいんだけど
>>9 DOSプロンプト = ×
NTコマンドプロンプト = ○
19 :
名無し~3.EXE:03/09/13 23:55 ID:08x9B6gy
>>18 NTコマンドプロンプト = ×
XPコマンドプロンプト = ○
20 :
名無し~3.EXE:03/09/14 22:28 ID:KcNfhv5e
win2000のコマンドプロンプトのフォントを好きなものに変更したいんですけど。
MSゴシックとラスタしか選べないですよね。
フォントを追加させて認識させるにはどうすれば??
>>19 NTコマンドプロンプトは別に間違いではないと思われますが
NTのはアイコンが
MS
DOS
これだからなぁ
>>16 namazuでダメならkabayakiでどうよ。
と、言ってみるテスト。
どっちみちコマンドラインじゃないけど。w
対象ファイルがあまりコマンドライン向けじゃないから、
可能だとしても相当メンドそうな悪寒。
>>20 適当なtelnetdを起こして、teratermでlocalhostロゲイン。
プロンプトよりはマシなフォントが使えるとおもう。
#時々Linuxと間違えてls や df なんて打ってしまう自分がいるのでAC
24 :
23:03/09/16 12:14 ID:HG0k4LTO
kabayaki、namazu共にコマンドラインで普通に検索できるのか・・
訂正age
25 :
23:03/09/16 12:15 ID:HG0k4LTO
揚げるぞ(゜Д゜)ゴルァ!
26 :
名無し~3.EXE:03/09/16 17:23 ID:lYyF9kQN
SUBSTの存在価値はけっこう高いと思うがどうよ。
XPとかだと、マイドキュメントに行くにも
C:\Docume~1\(ユーザ名)\MyDocu~1
と入れなきゃならないが、
SUBST (任意の空きドライブ名) C:\Docume~1\(ユーザ名)\MyDocu~1
を実行するだけでパスが短くなる。
>>26 右クリックからコマンドプロンプトを呼び出せるようにしてはどうよ?
ってそんな話じゃねーな。
SUBSTが有用なのは同意
28 :
名無し~3.EXE:03/09/16 22:17 ID:pr5+pnhL
質問なんですが、DOSのバッチを使って特定の拡張子のファイルのみ(dllファイル)
を一括コピーしたいのですが、どのように記述すればいいのでしょうか
xcopy・copyコマンドを使ってやってみようとしているのですが、どうも上手くいきません。
一つ一つ書いていくのは・・・100個近くあるので。。
*.dll
>>28 copy *.dll [コピー先のフォルダ]
じゃだめ?
って、もちろんこれぐらいやってるよね、スマソ
SUBSTってそんなに有用かな? 短いパスでアクセスできるようになることくらいしか大したメリットを思いつかないけど。
それだって、環境変数Pathを利用したり SET DeepPath1=C:\(中略)\ とか設定するとか、
同じような効果が得られる他の方法があるので、SUBSTを使う特別なメリットってない気がする。
コマンドプロンプト上からファイルをごみ箱に移すコマンドって、デフォルトでは用意されてないみたいだね。
ttp://www.ganaware.org/S/recycle/index.html こんな小物ツールを作る人がいるくらいだし。
それとも、RunDLL32 Shell32.dll,SHFileOperationAなんちゃらとかやれば実現できることなのかな?
RunDLL32の使い方もよく分からないけど。
32 :
名無し~3.EXE:03/09/16 23:00 ID:pr5+pnhL
>>28.29
xcopy "コピー元*.dll" "コピー先" で出来ました!!
>って、もちろんこれぐらいやってるよね、スマソ
本当に未熟者でお恥ずかしい限りです。簡単に解決してしまいました。
即レス感謝します助かりました。どうもありがとうございました
33 :
23:03/09/17 00:16 ID:Wqnu5YjU
cygwin使ってる人なら知ってると思うけど、自分のPC以外でcygwinのツールを使いたいときの手順。
1.使いたいツールを一箇所にまとめる。
2.objdump -p example.exe |grep dll で、必要なdllを調べる。
3. 1の場所にdllをコピー
kernel32.dllは不要
4. (゜Д゜)ウマー
犬鯖持ってるので、外出時にUSB FlashにSSHとかを入れて持ちあるいてまつ。
>>33 UNIX素人なんでそのコマンド初めて知った。便利だね。サンクスコ
そういえば、昔は右クリック>クイックビューアで見れたのに
いつのまにか無くなってる事に気がついた。
コンソールプログラムへの値の渡し方について教えてください。
JPG Cleanerというjpgファイルの不要部分を削除するツールがありますが
これのコンソール版を利用し、フォルダ右クリックからSendToに送って
ディレクトリ以下のjpgファイルをクリーニングということができないかと思っています。
実行ファイルのショートカットを作成してsendtoフォルダに置いてみたのですがうまくいきません。
JPGCLN32.EXE [options] <filespec> [output_path]
という書式なのですが、ディレクトリパスを与えるだけではダメなようで
ファイルがないというエラーになります。
フォルダを選択してSendToのショートカットに送る場合に
その中のファイルを値として渡すというようなことはできるでしょうか?
JPGCLN32.EXE [options] <右クリックSendToから渡したフォルダ\*.jpg>
という形にしたいのです。
>フォルダを選択してSendToのショートカットに送る場合に
>その中のファイルを値として渡すというようなことはできるでしょうか?
ショートカットの場合、送られたファイル/フォルダのパスを引数としてコマンドを実行するだけみたいだから
ショートカットじゃ出来ないんじゃないかな。
バッチとかなら送られたファイル/フォルダのパスが%1に代入されるので
JPGCLN32.EXE "%1\*.jpg" とか for %%A in (%1\*.jpg) do start JPGCLN32.EXE "%%A" とかやれるけど。
>>37 レスありがとうございます。やってみます。
時刻をログファイルに書き込みたく、検索したところ以下のような文を発見しました。
>簡単なのは
>echo:|time|find "現在" > log.txt
>ですが、「現在の時刻」という表示が不要で取り除きたい場合は、
>for /F "tokens=2" %%a in ('echo:^|time') echo %%a > log.txt
>とすれば、時刻の部分のみ取り出せるでしょう。
とありました。私は「現在の時刻」が不要なので
>for /F "tokens=2" %%a in ('echo:^|time') echo %%a > log.txt
とやってみましたが、
>C:\WINDOWS>for /F "tokens=2" %%a in ('echo:^|time') echo %%a > log.txt
>構文が違います.
と受け付けてくれません。
Win98です。どなたか助けてください。よろしくお願いします。
for /F "tokens=2" %a in ('echo:^|time') do echo %a >log.txt
W2kでできた。バッチに記述するときは%%aとふたつ重ねる必要がある。
「do」が足りなかっただけだね。
W98じゃできないんだな。
>>39 検索されたページの作者です。確かに do が抜けておりました。スマソ。
しかし、あのページは 2000/XP向けのバッチファイルなので 95/98系では
動きません。(for文がショボイ)
で、同じページに 95/98向けの時刻取得方法を追記しますので見てください。
46 :
39:03/09/28 19:22 ID:6827nMtz
>で、同じページに 95/98向けの時刻取得方法を追記しますので見てください
ありがとうございます。
それで見に行ったのですが、まだですよね?
検索で飛んだページからtopへ飛んでも9/27のカキコが最後っぽいので。
待ってますのでよろしくお願いします。
>>45 2000/XP向けなら
time /t
echo %time%
48 :
45:03/09/29 23:52 ID:yaiP0wCJ
>>46 またまた、すみません。あわてて勘違いしてますた。
検索されたページは私が作者ではなく単にカキコしたものでした。
どこかで見たことのある文章だと。
95/98向けの時刻取得方法を追記したのは、私の管理するWebページです。
「バッチ 時刻」で Google ってもらうと追記したページが出てくると思います。
49 :
39:03/09/30 15:04 ID:GbIgInBj
>>48 ありがとうございます。無事に動作しました。
「みなさんの感想をお聞かせください!!」とあったので
掲示板を探してみたのですがなさそうなのでこちらで失礼します。
興味深いサイトでした。これからもがんばってくださいね。
保守
ざっと調べてみたんですけど、
linuxのaliasみたいなのはやっぱり無いんですかね?
>>51 aliasがよく分かんないけど、doskeyは役立ちますか?
nyacusとか別の
>>52 それでいけそうですね。ありがとうございます。
でも設定が保存されない・・・もう少し調べてみます。
55 :
名無し~3.EXE:03/10/13 22:42 ID:11RQxhyw
すいません。教えて下さい。
"A.txt" というファイルの名前を
バッチの実行した日付けと時刻に変更する方法ってありますか?
例)A.txt → 20032241.txt
こんな感じです。
%DATE:/=%
>>56 すごい!できました!
ありがとうございます。
58 :
名無し~3.EXE:03/10/14 15:09 ID:/VY44lLL
すみません。教えてください。
XPが起動できなくなったので、再セットアップしようと思っています。
セットアップ前にファイルの移動をしたいのですが、ウィンドウズが全く
立ち上がらない状態なので、ファイル操作もできません。
DOSでファイルの移動をしようと思って、いろいろやったのですが、
肝心のフォルダ(MyDocuments)が見つけられないので、困ってい
ます。初心者なので知り合いに聞きながらですがもうお手上げと言わ
れてしまいました。どなたかお願いします。
NTFS使ってたらもうダメ
NTFSって何?ってレベルだったら絶対無理
60 :
名無し~3.EXE:03/10/14 16:20 ID:ulpbwnh0
>>59 58です。レスありがとうございます。
NTFSって何?状態なため、NTFSを使ってるかどうかも判断できません。
もうダメでしょうか?
>58
DOSが立ち上がると仮定する。
W2kだとマイドキュメントの場所は、
"C:\Documents and Settings\Administrator\My Documents"
なので、そこあたりを探してみると良い。
だめなら、フォーマットしないで再セットアップしてみそ。
62 :
名無し~3.EXE:03/10/14 18:59 ID:8HM/mhP3
>>61 58です。レスありがとうございます。試してみます。
スレ違いな回答だけど、再セットアップしなくても、セーフモードとか
回復コンソールとか前回正常起動時の構成とか、で復活可能かも。
ググってみるなり、それなりのスレで状況詳しく書いて相談してみれ。
64 :
名無し~3.EXE:03/10/14 21:29 ID:FixWcbIi
>>63 58です。レスありがとうございます。
回復コンソールとやらを調べたので、試してみます。
(セーフモードはダメでした)
>>64 もしデスクトップorタワー型のPCだったら
新しいHDDを買ってきてそれにXPをセットアップして
古いHDDのデータは消さずに2台目のHDDとして接続すれば
データを復旧できるんだけど。
ノートPCだったらHDDが1基しか積めないので少々めんどいね。
61氏の言われる通り
フォーマットせずに再セットアップするのが一番よさそう。
一歩間違えると全部消えてしまうので気をつけて。
スレ違いなのでsage
微妙にスレ違いかもしれませんが、
質問させていただきます。
Windows98SEのインストールCDから
MS-DOSだけを抜き出すには、どのcabから
抽出すればいいのでしょうか?
バイナリーデータの組み合わせなんですが、
copy /B a.gif+b.gif c.gif
で、a.gifとb.gifをc.gifにできますが、
今a1〜a100というファイルがあって、ひとつのファイルにしたいんですが、
やり方はあるでしょうか?あったら教えて下さい。
copy /b a1+a2+a3+a4+......+a100 a
for /l %a in (1,1,100) do copy /b a+a%a a
a にする場合ね
他にもあるんじゃない
あ、
copy /b a* output
でいいかもしんない。
71 :
名無し~3.EXE:03/10/24 22:30 ID:UFpnACJe
質問なのですが、W2Kのコマンドプロンプト、Resource Kit、Support Toolsを使用してUNIXのtailコマンドの様に
特定のファイル(txt)の最後の行のみを取り出す方法はないのでしょうか?
(cygwinは使わないで)
>>71 Windows Server 2003のResource Kitには入ってるんだよね>tail
74 :
71:03/10/25 11:32 ID:3s/j6FbH
レスありがとうございます。
>>72 会社の共用PCでtailを使いたいのですが、会社の規定とやらで
簡単に新規のexeやDLL入れられないんですよ。
なので既に入っているリソキかsupporttoolを使ったバッチファイル作りたいのですが
難しいっぽいですね。
>>73 2003が導入されるのは2000のサポート期限が切れる直前らしいです 鬱
>>71 for /f "delims=" %%i in (sample.txt) do set a=%%i
echo %a%
いまいちかな?
CDドライブ(もしくはDVDドライブ)のドライブ名を取得するには
どのようにすればいいですか?
set CDROM=
%CDROM%\ABC\DEF\123.txt
このような感じにしたいんですが、
「set CDROM=ほにゃらら」のほにゃららの部分がわかりません。
どうかよろしくお願いします。
コマンドラインからexplorer起動させた後に
コマンドラインからそのwindowを更新したいんですけどできますか?
79 :
76:03/10/26 09:05 ID:+8Ztl0i+
>>78 自分はこのバッチファイルを
Windows上でもリアルDOSモードでも使う必要があるんですが、
WSHというのはリアルDOSでも使える物なんでしょうか?
無知ですいません。
81 :
76:03/10/27 08:54 ID:6WXCFWJ6
>>80 ありがとうございます。
自分のやりたいことにぴったりっぽいです。
82 :
76:03/10/27 10:57 ID:6WXCFWJ6
たびたびすいません。
紹介していただいたソフトを使わせていただきました。
リアルDOS上では問題はなかったのですが、
使用するWindowsが2000のため、うまく作動しませんでした。
ほかにも代わりになるようなものを探した結果、srcdrvというソフトがあったので
こちらを使ってもみましたが、やはり2000ではうまくいきませんでした。
こちらの説明不足で申し訳ないのですが、ほかの方法を教えていただけませんか?
WindowsXP Homeです。
コマンドプロンプトを立ち上げたときのカレントディレクトはデフォルトで
C:\Documents and Settings\xxx\
のようになっていますが、立ち上げたときのカレントディレクトリをC:\に
変更するというのは可能でしょうか?
>>83 「スタートメニュー」→「プログラム」→「アクセサリ」→「コマンドプロンプト」
から、等ショートカットから起動してるなら、ショートカットのプロパティで
「作業フォルダ」を変更
「ファイル名を指定して実行」から、等の場合は、親プロセスのexplorer.exeの
カレントフォルダ(通常は環境変数%USERPROFILE%)にしたがうので、あきらめて
起動方法を、上記のようにどっかのショートカットから起動するように変えるか、
コマンドプロンプト起動してから「cd \」汁。
>>83 ショートカットのプロパティを開いて作業フォルダをc:\に変更
こんな時間にケコーン(w
ふつつかものですが♥
89 :
名無し~3.EXE:03/10/28 22:24 ID:Yj3K7KqT
テキストファイルにかかれているコマンドを一行づつ実行したいんですけど、
dosコマンドで出来ないですかね?
例)以下の様に書かれたテキストファイルのコマンドを一行づつ
実行し、dos窓に表示したい。
---------↓テキストファイルの内容↓---------------
ping 192.168.0.1
ping 192.168.0.2
ping 192.168.0.3
ping 192.168.0.4
ping 192.168.0.5
・・・
・・・
・・・
テキストファイルのファイル名変更して
拡張子を「.bat」「.cmd」にすればOK。
。。。ネタにマジレスっぽいけど。
91 :
89:03/10/28 22:40 ID:Yj3K7KqT
保守兼ねてカキコ。
日ごろコマンドプロンプトを根城に暮らしてる方、こんなのどう?
_ google.cmd ___________________________________________________________________
@start "" "
http://www.google.co.jp/search?q=%*&num=100"
________________________________________________________________________________
>92
いいね。
というか、プロンプト根城にしてなくても
"g"とか1文字ぐらいの名前のショートカット作って(最小化起動設定)パス通ったフォルダに入れときゃ
ファイル名を指定して実行で、「ブラウザ立ち上げ→検索バー移動→入力」の手順がかなり省ける。
コマンドライン用のツール使って(あればの話だけど)クリップボードのデータを検索ワードに送れるようにならないかな?
win2kのインストールでCDROMブートができないのでdosから
しようと思ったのですが、CDにアクセスできません。
どなたか対策を御存じの方教えていただけませんか?
-症状-
・98の起動ディスクのDOSだとCDにアクセスできない。
・win2000の起動ディスクだとアクセスできるけど
winnt.exeが実行できない。
ちなみにwin2kの起動ディスクは知人から借りたので
SPのバージョンが違いインストールできないのです。
96 :
94:03/11/06 22:05 ID:OBxfa4uA
リンク先を拝見しましたが、実はその逆だったり・・・
起動ディスクの方がSPバージョンが上なのです。
98の起動ディスクなので(これも借り物ですが)MSCDEXは
確実にあります。あとはドライバかなあ。
>>94 CDがあるなら起動FD作れるだろが。割れか?
98 :
94:03/11/07 00:22 ID:3N4SCwwG
CDがあってもアクセスできないので困っているわけです。
とりあえずドライバ関係を疑って調べてみようと思います。
どんなCD-ROMなんだ
ATAPIならOAKCDROM.SYSでたいていのはいけると思うが
>>92>>93 これ気に入った。
1文字だとさすがにアレなんでファイル名「gg.bat」にした。
gg +右クリック(貼り付け)+Enterでgoogle検索。便利だ。
Win2000(SP4)を使ってます
短縮ファイル名の表示
短縮ファイル名の変更
をしたいんですがご存知の方いますか?
>>101 表示だけなら
dir /-n
dir /x
command /c dir
103 :
93:03/11/07 20:04 ID:cbU8/T3d
>>103 スレ違いだがWSH(VBS)ならこんなもん
Set ie = WScript.CreateObject("InternetExplorer.Application")
ie.Navigate "about:blank"
ie.Navigate "
http://www.google.co.jp/search?q=" _
& ie.document.parentWindow.clipboardData.getData("text")
ie.Visible= True
>>103 BATファイルに書き出してCALLすれば?
コンソールプログラムのオプションを調べようと思ってヘルプを表示すると
量が多くて画面がスクロールしてしまいます。
cdrecord -?|more
としてもだめでした。こういう場合に1画面ずつ表示させたり
テキストファイルに書き出したりする方法ってありますか?
2>&1 で利くかも。
109 :
107:03/11/08 05:50 ID:32h5KRgO
>>108 私にレスを頂いたのでしょうか?
ちょっと分かりませんでした。
2>とやるとエラーメッセージをリダイレクトするということのようですが
cdrecord -?2>help.txt
cdrecord -?>help.txt 2>&1
などとやってみましたがhelp.txtには出力されませんでした。
ちなみに、dir /?>help.txtとやるとhelp.txtに出力できるのですが
cdrecord -?>help.txtではだめでした。
これはコンソールプログラムの問題なのでしょうか?
>>107 「?」と「|」のあいだに半角スペースが必要。しかしながらDOSコマンドではこれが
省略できるので混乱を招く。「?」と「>」のあいだも同じ。
112 :
103:03/11/08 20:53 ID:q21N6VkG
>111
おお、バッチリ動作しました。
どうも具体的なforコマンドの使いかたがよくわからなかったんですけど、
やっぱりbat「プログラム」のレベルのものを作るには必須だなぁ。
勉強になりました!
113 :
107:03/11/08 21:44 ID:32h5KRgO
>>110 レスありがとうございます。
しかし、スペースを入れて実行してもやはりダメでした。
標準出力でもエラー出力でもなく、CONを開いてそれに出力してたらやっかいだな
115 :
107:03/11/09 02:44 ID:prdl86OR
116 :
107:03/11/09 02:53 ID:prdl86OR
すいません、javaで、コマンドプロンプトの画面をクリアーする
方法をどなたか教えていただけませんか?
ガイシュツ+板違いかもしれませんが、お教えください。
Win2000を使っていますが、操作中にマウスポイントが頻繁に飛んでしまいます。
マウスを買い換えてみましたが、治りませんでした。これはPC本体の故障でしょうか。
あるいはOSのエラーなのでしょうか?よろしくお願いいたします。
スレタイを見ろ馬鹿
>>118がwindows板の数あるスレの中からなぜDOSスレに書き込んだのか。この意味を解するのはオレには一生かかっても無理だろう。
「初心者」以外の文字が理解できなかっただけだろ。
保守
XPでCHOICEを使うのは無理?
>>124 どうやったら使えるか教えてくれませんか?
CHOICEに似てるやつは検索したら見つかるんですけど・・・
RUNAS コマンドで、パスワードを毎回入力しなくても良いようにすることって出来る?
スタートアップをバッチファイルで管理してるんだけど、
アドミン権限じゃないとまともに動作しないアプリがあって (DTemp) 、
それを自動で起動させたいというか、どうにかしたいんだけど。
IE-SPYADでぐぐれ
配布ファイルの中にCHOICE入ってる
>>129 ありがとうございます
ありがとうございます
ありがとうございます
ありがとうg
choiceを使うとそれまでの内容が消えるのはどうにかなりませんか?
自己解決しました・・・
exeの方を使えばいいんですね
134 :
名無し~3.EXE:03/12/07 16:44 ID:Bn0p+sC7
年末あげ
136 :
名無し~3.EXE:03/12/08 00:11 ID:pDWtGQ2N
自分のローカルで使ってるマシンの、あるディレクトリに存在するファイルを調べるのは、普通に
dir パス
でうまくいきますが
ネットワークでつながってる他のマシンの共有フォルダの中のファイルを調べるときは
dir コマンドで出来るのでしょうか?
hageage
138 :
名無し~3.EXE:03/12/09 01:55 ID:yYuSb1CH
コマンドライン・ユーティリティーはWinに沢山隠れてます。
って、どんだけ隠れてるか知ってるのは鯖いじってるやつだけだろうなあ。
139 :
名無し~3.EXE:03/12/09 02:02 ID:XBcD/bJl
tree c:\ /f > c:\tree.txt
>>138 C:\> attrib /s -h *.exe
コマンドライン勉強するために本を買いたいんですが、何かおすすめはあるでしょうか?
当方CUI初心者なために本で勉強したいのですが、できれば長く使えるしっかりした本が希望です。
>>142 WindowsXPで大幅に追加されたコマンドが
全て網羅されている書籍を選択して下さい。
表紙に「XP対応」なんて書いてあっても
実際は内容が古い書籍が多いです。
具体的には REG や SCHTASKS などが
きちんと掲載されているものがよいです。
「〜大全」は分厚くて見やすいですが
内容が古くてムカつきました。金返せと。
145 :
142:03/12/11 14:50 ID:N/wONeA5
ありがとうございます。
143さんの下のやつはUNIXと書いてありましたが、windowsのコマンドとは違うんですよね?
# 厨にてよく分らなくてごめんあさい。
144、参考になります。ちょっと本屋で調査してみます。
具体的なタイトルで何かいいのはあったでしょうか?もしあれば。
146 :
144:03/12/12 02:34 ID:Tus0fZmH
>>145 仕事先に新しいコマンドが
きちんと載っているものがあるので
書名を調べてきますね
147 :
142:03/12/12 04:27 ID:fjYZl7eO
>>146 あっ、わざわざお手数おかけしてしまって申訳ありません。
よろしく御願いします( ・∀・)つ旦~~
148 :
144:03/12/13 18:42 ID:aTapCz+M
149 :
144:03/12/16 01:30 ID:KzybQVbF
仕事先のものは、翔泳社「DOS/コマンドプロンプト辞典」でした。
購入した者によるとポケットリファレンスとどちらが良いか迷って
結局こちらにしたそうです。一見して悪くない感じでした。
以上の2件と他の書籍を流し見てお好きな物をどうぞ。
150 :
142:03/12/16 11:25 ID:Zaf7NOMn
キタ━━━━━━(゜∀゜)━━━━━━ !!!!!
ありがとうございます!今日は講義ないから本屋さんまで走ってきます。
お手数おかけしました、楽しく年末過してくださいー。
半角→全角変換、逆の変換するフリーのプログラム
ありませんか?
フィルタコマンドとして使えるものきぼんです。
カタカナ半角→全角だけはnkf32でもできたんだけど、
こういう目的に特化したものあれば教えてください。
>>151 SED、jgawk
フィルタにするには工夫が要るかも
153 :
名無し~3.EXE:03/12/24 18:41 ID:9MInjTEg
%SystemRoot%\explorer.exe /n,/e,E:MUSIC
のような感じで検索を開くコマンドラインってないですか?
>>153 聞いたこと無い。
*.fnd ファイルを利用して start しか無いのかなと。
Win XPのコマンドプロンプトで、内部コマンドでない自作のソフトなどを起動するときに、
引数として相対パスを渡してもフルパスに展開してくれないのですが、これは仕様ですか?
正常です
A:\>シニス メテメセメチメト コケ
159 :
名無し~3.EXE:04/01/10 02:04 ID:aa7Ek43L
ログオンスクリプトの質問はここでいいですか
といっても単なるバッチファイルですが。
ユーザの属しているグループやユーザネームで処理を変えたいのですが、
ユーザネームなら IF %USERNAME% とかでできますが、
グループの場合どうすればよいでしょうか。
net user 位しか思いつかない
161 :
名無し~3.EXE:04/01/10 13:46 ID:aa7Ek43L
162 :
名無し~3.EXE:04/01/11 14:20 ID:SpDD1SGz
163 :
名無し~3.EXE:04/01/11 14:21 ID:SpDD1SGz
DOSコマンドでyes/noを省略することは
/yや/nで可能ですが、
Enterを省略するにはどうしたらいいのでつか?
165 :
163:04/01/11 16:02 ID:SpDD1SGz
>>164 リダイレクトしてもtimeとかはエンターを要求されました
当方初心者なのでもうちょっと詳しくお願いいたします
echo. | time
167 :
163:04/01/11 16:17 ID:SpDD1SGz
>>166 なるほど。
でも、>text.txtみたいにテキストに書き出すと
余計な情報まで書き出されちゃうのは回避できないのでしょうか
168 :
名無し~3.EXE:04/01/11 17:15 ID:FhBPAUL2
echo . | time | find "現在の時刻"
169 :
163:04/01/11 18:37 ID:SpDD1SGz
>>168 ありがとうございました。m(_._)m
こうゆうことを勉強できるページがあったら教えてください
170 :
736:04/01/11 20:38 ID:SpDD1SGz
BATファイルから他のテキストファイルを読み込んで、
そのデータによって処理を変えたいです。
テキストファイルを読み込むのはfindstrでできましたが、
それをIFの比較対象にする方法がわかりません。
つまり、findstr "検索する単語" "検索されるファイル.txt"
で検索した結果の文字列をIFで使いたいのです。
>>170 findstr つったらNT系だよね
for /F "delims=" %I in ('findstr "ぽん" ぱこ.txt') do if "%I"=="ぽん" echo ぴん
172 :
170:04/01/11 22:09 ID:SpDD1SGz
>>171 ありがとうございます。
しかし、DOS窓から直接入力ではできましたが、BATからはできませんでした。
どうしてなんでしょうか。。
for /?
〜略〜
バッチ プログラムで FOR コマンドを使用するときは、%変数の代わりに、
%%変数を使用してください。
〜略〜
174 :
170:04/01/11 22:26 ID:SpDD1SGz
175 :
名無し~3.EXE:04/01/12 15:39 ID:pQJ7xPdB
BASICでいうところのGOSUB RETURNみたいに、
GOTOある次の行に戻るみたいなコマンドってないのでしょうか
>>175 NT系なら
CALL :ラベル 引数
詳しくはヘルプ読んで
>>175 call
NTでなくても call %0 ほにゃらら ・・・ などと工夫すればなんとかなる
178 :
名無し~3.EXE:04/01/12 18:38 ID:UDCYVURE
厨質問なのですがfdiskでフォーマットできましたっけ?
>>178 フォーマットは format だろ。と厨レスしてみる。
fdiskは区画整理だけ
PC-98だとformatが区画も担当という事実
182 :
名無し~3.EXE:04/01/12 19:58 ID:pQJ7xPdB
ワイルドカードって文字比較IF "*abc"とかに使うにはどうしたらよいのでしょうか
183 :
名無し~3.EXE:04/01/12 20:12 ID:R2JIDhKg
素直に JScript,Perl等を使う。
>>181 実際にはhdformatが担当という事実
185 :
名無し~3.EXE:04/01/13 21:29 ID:lhQ0XmlO
www.bootdisk.com/
↑って違法か?
186 :
名無し~3.EXE:04/01/13 21:32 ID:G0zUWG9y
187 :
名無し~3.EXE:04/01/15 00:04 ID:93JsKJPS
echo abc >>test.txt
echo def >>test.txt
ってやったときに改行されないでabcdefって出力するには
どうしたらいいのでしょうか
>>182 無理じゃね?
比較対象文字列をファイル名にして、テンポラリに吐いて、
del *abc させて%ERRORLEVEL%で判別するとか。
消せれば 0 マッチしなければ 1 が入る > ERRORLEVEL
似たような感じで for でマッチした物を変数に入れてみたりとか。
>>187 つか、echo できるなら変数に入れて連結してから吐けば?
NT系の拡張は知らんけど、何せバッチするならもちっと工夫するようにせんと何も出来んよ。
189 :
187:04/01/15 19:41 ID:93JsKJPS
>>188 こうゆうたぐいのを連結するのはどうしたらいいんでしょうか
echo | time | find "現在の時刻"
>>189 まいったな、command.com なら動くんだが cmd.exe じゃ動かんなぁ…。
代わりにこんなんどうよ?
echo %date%
echo %time%
つか酔っぱらっちゃてるから、考えるのメンド臭くてつまんない答えですまんね。
NTFSだとしたらDOSでは無理だけど、
xpの起動ディスクMSにおいてあるよ。
そこから回復コンソールに行けるんでないかい?
無印xp版がまだあるかは不明だけどな。(´Д`)y-~~sp1版しかないかも
つか、質問('-')ノ
ふと思ったのだがregsvr32 hogehoge /u とdelsvr hogehogeでは何が違うのだろうか。(´Д`)わがんね
あと、9の人ではないが、キーボードからCtrl+Vでペーストするにはどうしたらいいか教えてくれまいか。
それともコマンドプロンプトはキーが違うのだろうか…
DOS限定なのか…。(´Д`)y-~~すまん
195 :
193:04/01/20 21:20 ID:2Aa4CABM
>>194 いや、限定じゃないけど。前半が誰に対するレスなのか理解できなかったので
delsvr は使ったこと無いけどサービスの登録解除
regsvr32 はOLEサーバの登録用コマンド。全然似ていないよ。
キーボードペストはいちおう
Alt+Space E P
windowsXPです。
自分のモチベーションを上げるコマンドって何でしたっけ?
198 :
名無し~3.EXE:04/02/07 18:43 ID:o545zoee
最小化して起動のオプションとかってある?
200 :
名無し~3.EXE:04/02/07 21:08 ID:o545zoee
標準入力に改行なしの文字列を送り込むにはどうしたらいいだろう?
echoだと後ろに改行が付いてしまう。
>>201 改行なしのテキストファイル流し込めば?
203 :
名無し~3.EXE:04/02/08 05:36 ID:TjL5qYbq
20031229.txt
20031230.txt
20031231.txt
20040101.txt
20040102.txt
・
・
・
こんな感じであるフォルダに数多くあるファイルを全て1つにまとめたい場合って
どうすればいいですか?
copy 20031229.txt + 20031230.txt + ・・・
ではチョット数多すぎるので。
copy *.txt nurupo.txt
サンクス。
>204で出来たnurupoって文字コード何?
なぜかダブルクリックで開くと化けてしまう。
ジブンデガンガエロ
( ・∀・). | | ガッ
と ) | |
Y /ノ 人
/ ) < >__Λ∩
_/し' . V`Д´)/
(_フ彡 / ←
>>206
知らないなら別にいいよ>207
AAまで用意してくれてアリガト。
エディタ側で調節するわ。
ンナモンcopyスルモトデータニイゾンシテルダケダロ
EUCナラEUC、S-JISナラS-JISニトウイツシロ
( ・∀・). | | ガッ
と ) | |
Y /ノ 人
/ ) < >__Λ∩
_/し' . V`Д´)/
(_フ彡 / ←
>>208
210 :
名無し~3.EXE:04/02/10 00:21 ID:e98JiZlC
Unicodeのファイル扱えるdiffありますか?
コマンドプロンプトに
(*´Д`)ハァハァ
をコピーして貼り付けてENTER。
爆笑しますた
わらた
文字化けするんだけど、やるとどうなるの?
216 :
名無し~3.EXE:04/02/19 01:47 ID:PuIBKsUa
ハードディスクが2つあり、片方のディスクでディスクの管理において右クリ
ックしてもメーカーの設計上パーティションの削除できないパーティションがあります。
そこでコマンドプロンプトのDISKPARTコマンドを利用したいのですがどのよう
に入力すれば良いのか解りません。
ディスク0のデータを消さずに、ディスク1だけをパーティションの削除をす
るにはどのように入力すればよいでしょうか?
誰かわかる方教えてください。
>>216 メーカーの設計上削除できないならコマンドでも無理じゃないか?
ディスク1を外して別のPCに付けてOSのインストールディスクで
パーティションを削除するのが手っ取り早い。
そいつを元のPCに戻した時「メーカーの設計上の理由」とやらで
不都合が生じる事は十分考えられるけどね。
まーその前に
DISKPART /?
って入力してご覧。
>>211をいろいろ変えて遊んでみたんだけど、
どうやら ( ) が特別な意味を持っているみたい。
これは一体何が起こっているの?
「間違っていない使い方」はどうやるんだろう。
>>218 説明してるページがあるんだけどURL忘れた・・・
バッチファイルのifとかの条件分岐でひとくくりにするためのじゃ?
*nixのシェルスクリプトとかでもあるしさ
とりあえず()の外に何か書くとエラー
(echo A & echo B) & (echo C)
@echo off
if "%1" == "1" (
echo A
echo B
echo C ) else (
echo C
echo B
echo A )
>>220の書き込みをコマンド プロンプトに貼り付けたら
プロンプトが無くなったけど、
これは一体何が起こっているの?
PROMPT $P$G
やっても元に戻らないし
echo on
223 :
名無し~3.EXE:04/02/23 20:50 ID:QZhXaxME
netsh interface setの終了コードの種類と意味を教えてください。
ヘルプとサポートを見ても乗ってませんでした。終了コードの詳細はWin ResourceKitにあると載っています。
知ってらっしゃる方、Win ResourceKitを持ってらっしゃる方よろしくお願いいたします。
mountみたいなコマンドってある?
226 :
名無し~3.EXE:04/02/24 17:06 ID:FYeornfu
WindowsXPを使っています。
AUTOEXEC.BATが見当たらないのですが、どのようにすればPATHの設定ができるでしょうか?
PATHコマンドで行うとDOS窓を起動するたびに設定のやり直しになるので、AUTOEXEC.BATを
使ったのと同様のことがしたいです
227 :
226:04/02/24 17:19 ID:FYeornfu
自己解決しますた
コントロールパネル→システム→詳細設定→環境変数
ファイル名を絶対に重複させないためにリネームをする際、
固有のファイル名+ファイル作成時の日時時間(秒まで)に
できないものかと。じぶんなりにしらべましたがギブアップです。
ご存知の方、教えて下さい。
>>223 わからん。
>>224 subst
>>228 for /f "tokens=1-3 delims=/ " %i in ('date /t') do for /f "tokens=2-4 delims=:. " %l in (' echo.^|time') do rename ファイル名 固有のファイル名.%i%j%k%l%m%n
230 :
228:04/02/27 01:59 ID:RkgmCg//
>>229さん、
ディレクトリにファイルを入れてバッチファイルを実行してみたのですが、
うまくいきません。
何か引数とかを入力してやる必要があるのでしょうか。
なにぶん書かれている文字列の意味がさっぱりなもので、お手数ですが使い方を教えていただけないでしょうか。
済みません。
>>230 >>229は現在の時刻を付加するものであって作成日時を付加するのではない
バッチにしたいなら%を%%にする必要がある
作成日時は分までなら dir /tc で出るけど、秒まで出す標準コマンドは知らん
工エエェェ(´д`)ェェエエ工
リネームツールなら腐るほどあるし
OS標準にこだわるならWSHでも使えばいい。
234 :
名無し~3.EXE:04/03/02 14:54 ID:LGTVN3Q/
上げるぞ( ゚Д゚)ゴルァ
235 :
名無し~3.EXE:04/03/02 17:17 ID:ixi3whIw
nurupo
∧_∧
( ・∀・)
(( ( ヽ ノ )
ノ\(○´ ゴッ
(_ノ(_\ ∧
= ()二) < >_∧∩
V`Д´)/ ←
>>235 /
バッチファイルって普通複数行にするけど、一行に出来ないの?
改行を示す記号とかある?
\n
rupo
同じ階層構造をしたディレクトリがずらっと並んでいるとします。
そのサブディレクトリの構造を変えたり、名前を変えたりするのって
バッチファイルでどうしたらいいでしょうか(当然全部同じに)。
ヒントお願いします。
いや、恥ずかしながら、今回は手作業で済ませました、
なさけない。
>>240 何がしたいのかまったく理解できんが
とりあえず、 for
242 :
240:04/03/12 01:34 ID:FMdbh2Jx
>241
ありがとうございました。ようやく意味がわかってきました。
もう少し時間をかけたらなんとかなりそうです。
いや、おもしろいなと。
DIRコマンドでワイルドカードの対象になるのは
ファイルだけですが、ディレクトリに対しておなじことを
やるっていうのは何か方法がありますか。
あったら教えて下さい。
>243
dir /ad (ワイルドカード)
245 :
243:04/03/14 00:12 ID:KPu9D3gP
>244
ありがとうございました。
コマンドプロンプトのヘルプにもなかったものが
ちゃんとあったとは、、、
246 :
名無し~3.EXE:04/03/14 10:19 ID:VKYRhW19
コマンドラインでショートカットを作る方法ありませんか?
ありそうでなさそうだけれど、あったら便利だと思う。
248 :
名無しさん@Vim%Chalice:04/03/14 16:40 ID:VKYRhW19
Windows 標準のコマンドでいけませんか?
あれから調べてますが *.exe コマンドでいけそうにないので、
WSH 方面を勉強してきます。
下記のようなデータファイルがあります。
hoge.dat--------------
aaaaa
bbbbb
ccccc
ddddd
eeeee
fffffff
終わり---------
こいつを
aaaaabbbbb
cccccddddd
eeeeeffffff
のように、一行目と二行目、三行目と四行目、、、(以下延々と続く)
を結合させて別のデータファイルに変換することってバッチで
できるでしょうか。
WinXPでつ。
いろいろ考えたけどできないのでExcelのVBAで処理したの
ですが、バッチファイルでできないかと思ってます。
話は変わりますが、WSHでvbsなりjsなりでスクリプト作っても
ファイルの読み書きでウイルス検知に引っかかってしまうん
ですよね。自分で使う分にはいいのですが、会社で人に使って
もらう際にこれ困ります。
それでDOSバッチファイルも覚えたいなと、、、
@echo off
for /f %%I in (hoge.dat) do call :SUB %%I
goto :EOF
:SUB
if "%A%"=="" set A=%1&& goto :EOF
echo %A%%1
set A=
>>250 おお!なんだかまだ分かりませんができますね!
これをファイルに保存するには、したから二行目を
@echo %A%%1 >> hogehoge.dat
とすればいいんですね!
しっかし、hoge.datが9570行あるテストデータで試したら、
結構時間かかりますね (汗
いったん変数に読み込んで一気に書き込みっつうのはさすがに
バッチでは無理ですよね。
252 :
240:04/03/14 19:48 ID:KPu9D3gP
247のソフトに関連してなんですが、
D:\abcdef>for / %A in (*abc*.*) do "C:\Program Files\mkshc_at\mkshc_at.exe"
-folder "d:\test\" "%A"とやるとエラーになるんで、しょうがなく
D:\abcdef>for / %A in (*abc*.*) do "C:\Program Files\mkshc_at\mkshc_at.exe"
-folder "d:\test\" "d:\abcdef\%A"とするとうまくいきます。
でも、なんだかいんちきっぽくて。最後の%Aをフルパスにする方法って
ありますか。あったら教えて下さい。
%~fA
254 :
240:04/03/14 23:56 ID:KPu9D3gP
>253さん
ありがとうございます。
ぽちぽち使えるようになったレベルですので、
またご面倒をかけると思いますが、
そのときはよろしくお願いします。
255 :
240:04/03/15 19:13 ID:1+dOtn2Z
複数のサブディレクトリ内ファイルに対し、
タイムスタンプで対象を絞って
アプリケーションで実行を行うことは可能でしょうか。
可能でしたら、またヒントなどいただければ幸いです。
256 :
名無し~3.EXE:04/03/16 00:11 ID:P7CWkxLZ
教えてください。
任意の容量のサブフォルダを持つ例えば100GBのフォルダがあって
その中身をタイムスタンプ順に4Gづつ新規に作成されたフォルダに
コピーしていくということはコマンドプロンプトだけで可能なのですか?
DVD-Rにバックアップとるための分割がしたいんですよ。
>>255 タイムスタンプを取得して、ifで比較して対象を絞ればいい
>>256 FOR /F "usebackq delims=" %i IN (`dir/a-d/b/od`) DO コマンド
258 :
256:04/03/16 01:44 ID:18RNae7d
>>257さん
全然わかりません。
dir/a-d/b/odでリスト抽出?
で取り出してループ???
>>258 そこまでわかれば自分で書けると思うんだけどな
更新日順に1,2,3,...フォルダに移動するバッチ
--------------
FOR /F "usebackq delims=" %%i IN (`dir/a-d/b/od`) DO call :移動 "%%i"
goto :eof
:移動
set/a 移動=移動+1
md %移動%
move %1 %移動%
goto :eof
--------------
使ったこと無いけどforfilesが向いてそうだ、と無責任に言ってみる。
CDを実行して得られたカレントディレクトリを
環境変数にするにはどうしたらいいんでしょうか。
とんでもなく基本的な質問のようで恐縮です。
2000/XPなら
%CD%で取得できる
263 :
261:04/03/16 21:27 ID:x8q5bhVT
>262
調べたつもりでしたがお恥ずかしい。
ありがとうございます。
FORコマンドの IN (*.*)のカッコ内の部分、
条件を複数にするって可能でしょうか。Aからはじまるものと
BからはじまるものとCからはじまるものと、、、
みたいな感じで好きな条件を連続して実行させる。
>>264 (A* B* C*)で出来る。というかそれくらい自分で確認しろ
266 :
264:04/03/17 21:45 ID:opR7CZkC
>265さん
ありがとうございました。
それとおっしゃる通りで、いまFORのHELPみて
赤面しております。以後気をつけます。
プロクシを変更するコマンドってありますか
268 :
255:04/03/18 23:42 ID:XeOBUQXz
>257さん
dir/ad/od
まではわかりました(だとおもうのだけど)。
IFで比較して、というあたりのヒントを
教えて下さい。
>>268 dir使うと面倒そうだったので、%~tを使用したので対象は更新日時のみ
後はifの行を適当に変えて実行すればいい
--------------
@echo off
if "%1"=="" echo 指定した時刻(YYMMDDhhmm)以降に更新したファイル(サブディレクトリ内のファイルも含む)を列挙&goto:eof
FOR /R %%i in (*) do call :処理 "%%i" %1
goto :eof
:処理
set 更新=%~t1
set 時刻=%更新:~0,2%%更新:~3,2%%更新:~6,2%%更新:~9,2%%更新:~12,2%
if %2 LEQ %時刻% echo %1
goto :eof
--------------
270 :
255:04/03/19 00:44 ID:RpQ6IyaT
>269さん
ありがとうございます。
さっそく意味を解析します。
>ALL
このスレのおかげでずいぶんコマンドが使えるようになりました。
ファイラの外部コマンドに押し込んだら、
なんでもできちゃうみたいな感じです。
>267
XPならnetsh > diag で色々出来そう。
>>271 > >267
> XPならnetsh > diag で色々出来そう。
なるほど、今のところは、show ieproxyで設定をみることしかわかりませんが、
調べてみます。
batファイルを作れば、一発で設定できそうですね。便利だ。
set oi=%1
for /r %2 /d %%A in (%3) do call :zbid %%A
:zbid
cd %3
move %3\*.* %oi%
こんなバッチファイルで
%2内のサブディレクトリ%3から
ディレクトリ%1にファイルを移動させようとしています。
大体希望通り動いているんですが、最後にこちらの意図しない動作をします。
動けばOKの我流も不安です。先生方にはかんたん過ぎで恐縮ですが、
どなたかに模範解答をお願いします。
goto :eof
275 :
273:04/03/20 00:38 ID:8BkBnqRj
>274さん
よく考えてみたらCALLは不要でした。
でも後学のために教えて下さい。
goto :eof は一番最後に書く、でいいのか。
それと、これの有無で処理はどう違ってくるのか。
%3のディレクトリがなくなった時点で処理が終わって問題なしって
思えて仕方ないのです。
>>275 forと:zdidの間にgoto :eofを書かないと、
forが終了した後:zdid以降の行に処理が移る
277 :
273:04/03/20 08:47 ID:8BkBnqRj
>276さん
ありがとうございます。いわれてみればもっともで、
自分の思考の非論理性におどろきます。
doの後に&&で繋げて一行にしてしまう俺
279 :
273:04/03/20 15:47 ID:8BkBnqRj
>268さん
教えて下さい。
%1は0001010000(2000年1月1日0時0分)といった書式で入力するのですか。
%2は入力はどのように入力するのでしょうか。
>set 時刻=%更新:~0,2%%更新:~3,2%%更新:~6,2%%更新:~9,2%%更新:~12,2%
この疑問はこの1行がわからないからですね。
お手間とらせて済みません。
set /?
for /?
goto /?
全部読んでから聞けよ。
281 :
273:04/03/21 00:16 ID:Iu0kQJeY
>280さん
失礼しました。さっそくすべて打ち出して読みました。
%1が対象となるディレクトリで%2が時間であることまではわかりました。
更新=2004 03 20 15:25から時刻=204 3 0 5:をとりだしているのも
わかりました。ただ、この204 3 0 5:が何を意味しているかは
調べましたがわかりません。したがって実行することは依然できずにいます。
どうしたらよいでしょうか。
>>281 更新=04/03/20 15:25から時刻=0403201525
を取り出してるはずなんだが、環境が違うと%~t1の値も変わるのか?
いかりや長介さんを生き返らせるコマンドを教えてくれ
284 :
273:04/03/21 02:20 ID:Iu0kQJeY
>282さん
SETコマンドを実行すると
時刻=204 3 1 1:
更新=2004 03 21 01:25
と表示されます。
当方の環境はXP[Version 5.1.2600]です。
>>283 dameda /korya /tugiittemiyou
288 :
273:04/03/21 15:18 ID:Iu0kQJeY
>286さん
使えるようになりました。ありがとうございました。
ご面倒をおかけしました。
scコマンドでサービスの設定ができることが分かったのですが、
これを用いてサービスの再起動をすることはできるのでしょうか?
それを満たすコマンドが見つかりません。
利用用途は、休止状態から回復したときにmessengerサービスを回復させることです。
休止状態に入ったあとは機能しないままになっているようなので。
net help start
net help stop
291 :
289:04/03/22 00:47 ID:a1YCW8nc
sc でもヘルプをかけてみたのですが、
やはり当該のコマンドはないようでした。
残念。
293 :
289:04/03/23 01:30 ID:gPvU+vs5
>>292 それも試してみたのですが、表示どおりにMOREをすると
何故かひたすら空白が表示されてしまいました。
これはうちの環境がおかしいのでしょうか。
cygwin入れてるせいなのかな。
でも結局今のところは再起動のコマンドが分かりませんが、
もう一度調べてみます、ちょっと本屋でレファレンスも立ち読みしてみます。
%WinDir%\Help\ntcmds.chm
にコマンドラインリファレンスがあるからそれ見てみたら。
こんなことってバッチファイルで実行できますか?
OS/win2000server
「特定のフォルダの中を見て、存在するフォルダ・ファイルのうち、
更新日付が前日以前のファイル・フォルダを全てデリート。」
バッチファイルよく分からんのです。。。。。。(涙)
先日こちらで教えていただいたバッチをいじって次のようなものを
作ったのですが、タイムスタンプの取得で引っかかっております。
%%Aにしてもダメでした。どうしたらよいのでしょうか
FOR /r d:\abcdef /d %%i in (*.gz) do call :処理 %%i
goto :eof
:処理
cd %1
for %%A in (*.*) do call :処理2 %%A
cd..
:処理2
set 更新=%~tA
set 時刻=%更新:~0,4%%更新:~5,2%%更新:~8,2%%更新:~11,2%%更新:~14,2%
hoge.exe" "%%~nxA" "d:\hoge\%時刻%.%%~nA.hlk%%~xA"
goto :eof
298 :
292:04/03/24 01:17 ID:Ae6JZti5
>>293 ひたすら空白?
まさか最後の1行だけ見て
MORE
とか打ってないだろうね…
NET START "Messenger"
で良い筈なんだが。
299 :
295:04/03/24 15:12 ID:AIzwEWWm
先日質問しまして、自力でここまでやってみました。
<目標>
「特定のフォルダの中を見て、存在するフォルダ・ファイルのうち、
更新日付が前日以前のファイル・フォルダを全てデリート。」
<実績>
for /r d:\foo\test\AA001 /d %%A in (*) do call :処理 %%A
:処理
set TF日付=%~t1
set R日付=%TF日付:~0,2%%TF日付:~3,2%%TF日付:~6,2%
set TN日付=%DATE%
set N日付=%TN日付:~4,2%%TN日付:~7,2%%TN日付:~10,2%
if %R日付% == %N日付% rmdir /s /q %1
<再質問>
「特定のフォルダを見る」場合、実は特定のフォルダは複数あって、
「AA001」〜「AA999」までのフォルダをfor分でうまい具体に
ループさせてそれぞれのフォルダに移動していくことって
できますか?
300 :
296:04/03/24 21:59 ID:ATf1wPtD
%1でタイムスタンプを取得するところまではうまくいったのですが、
その次がうまくいきません。
for %%A in (*.*) do call :処理2 %%A
の%%Aは意図通りなのですが、
hoge.exe" "%%~nxA" "d:\hoge\%時刻%.%%~nA.hlk%%~xA"
の%%Aがちがうようなのです。
ここでもまた別の変数を使う必要があるのでしょうか。
302 :
296:04/03/24 22:36 ID:ATf1wPtD
>297さん
>301さん
無事動きました。%%AはCALLコマンドの中では%%1になる、、、
いまひとつずさんな理解で不安なのですが。
ありがとうございました。
>>302 %%A は for コマンドで結果セットを受け取るために指定したパラメータ。
例えば
for %%A in (*.*) do echo %%A
という記述は、*.* というワイルドカードにマッチするファイルを探し出し、
1ファイル毎に echo %%A というコマンドを実行する。
但し%%Aはパラメータとして指定されているので、ファイル名に置き換わる。
ちなみに%%Aはそれを指定したfor コマンドの外では使えない。
要するに↓のような使い方は間違い。
for %%A in (*.*) do コマンド
echo %%A
%1 はバッチファイルに渡された引数と置換されるパラメータ。
例えば
hoge.bat moge
と入力した場合、バッチファイル moge.bat の中に記述されている %1 は、
moge に置き換わって実行される。(例えば echo %1 は echo moge として実行される)
多数のサブディレクトリ内のファイルから
ファイル名の中にあるスペースを取り除こうとしています。
FOR変数%~nIを使ってファイル名を取得しようとしていますが、
スペース以降が取り出せません。
どうしたらよいでしょう。
>>304 コマンドを書かんとどこが間違ってるのかわからん
まぁただの""の付け忘れだと思うが
初心者だが、コマンドプロンプトで出来る事って本当に沢山ありますね。
本買ってきて夕方からずっとコマンド打ちっぱなしだったよ。
DOSあればだいたい事足りると思った。
基本的ファイル操作はGUIのほうが楽だけど、個人的にネットワーク関連はやっぱCUIが
便利ですね。
コマンド一発で操れるOS気に入りました。
システム環境変数 %COMSPEC% ←この意味取り間違えて居りました w
ほぉ、試しにこのパソコンのスペックを・・・ あれ?
>304さん
for /r /d %%A in (*.gz) do call :処理 %%A
goto :eof
:処理
cd %1
for %%B in (*) do call :処理2 %%B
cd..
goto :eof
:処理2
set 名前="%~1"
set 改名=%名前:~0,-4%
rename "%1" "%改名%"%~x1
です。
やりたいのは
名前が.gzで終わるディレクトリの名前には手を付けず、
その中にあるファイルのファイル名の特定の文字列
(今回は半角スペース)を除去したいのです。
拡張子を含むファイル名のうしろから4文字をとりのぞき、
そこに再度拡張子をつける、ということをやりたいのです。
>303さん
ありがとうございます。
310 名前:名無し~3.EXE[sage] 投稿日:04/03/25(木) 09:29 ID:XODLQYLz
>>308 callの引数に、""を付け忘れている。:処理2にも飛べない
半角スペースを取り除くのは
set 改名=%名前: =%
半角スペースを取り除きたいのか、後ろの4文字を取り除きたいのかどっちなんだ?
-----------------
for /r /d %%A in (*.gz) do call :処理 %%A
goto 処理1.5
:処理
cd %*
goto :eof
:処理1.5
for %%B in (*) do call :処理2 "%%B"
cd..
goto :eof
:処理2
set 名前="%~1"
set 改名=%名前:~0,-4%
rename "%1" "%改名%"%~x1
311 名前:名無し~3.EXE[sage] 投稿日:04/03/25(木) 18:23 ID:r6xyrVEC
>310さん
ようやくやりたいこと
(スペースの除去、拡張子前にダブっていた.の除去)
はできました。
手作業では絶対にどうしようもない世界なもので、
ホッとしております。
お導きありがとうございました。
312 名前:名無し~3.EXE sage 投稿日:04/03/25 18:29 ID:r6xyrVEC
バッチファイルの処理が完了した(と思われる)状態で
DOSプロンプト画面がかたまって
終了してくれないっていうのは
バッチファイルの書き方に問題があるのでしょうか。
作業の内容にもよるのでしょうか。
313 名前:名無し~3.EXE sage 投稿日:04/03/25 19:34 ID:r6xyrVEC
>312
わかりました。
面倒な処理を地の底までもやらせてしまっていたから、、、
だと思います。正常に働き出しました。
314 :
名無し~3.EXE:04/03/30 23:25 ID:Ot9thJ0g
%date:/=%
を打つと、winXPだと「20040330」になるのだが、
Win2000だと「火20040330」になってしまいます。
「火」はどうやったら取り外せますか?
手元でやると半角スペースが入るんだけど。> 曜日と日付
for %1 in (%date:/=%) do echo %1 | findstr /R [0-9]*
もっと良い方法もありそうだけど。
あ、
set tmpDate=%date:~2,10%
set trueDate=%tmpDate:/=%
echo %trueDate%
>>315 へぇ〜〜
forの変数って数字も使えたんだ。知らんかったよ。
フィールド数を指折り数えたあの日々とサヨナラ
バッチファイルの引数によって
処理の条件分岐をさせるのは可能でしょうか。
具体的には
引数にワイルドが含まれる場合と
そうでない場合とで
別の処理を行いたいのですが。
set tmpStr=%1
if "%tmpStr%" == "%tmpStr:**=%" 〜
>320さん
ありがとうございます。
コマンドの意味を知りたいのですが、どのヘルプを見たらいいのでしょうか。
SET、IFにはそれらしいものを見つけることができなかったのですが。
>321
setのヘルプを読み直せ。↓と書いてある。
環境変数の置換は、次のように拡張されます:
%PATH:文字列1=文字列2%
>320は要するにワイルドカードを除去する前後で比較し、
一致=含まれていない/不一致=含まれる を切り分けてる。
>>322さん
ありがとうございました。ご指摘の箇所は関係あるんじゃないかなとは
思っていたのですが、はっきりと理解できずにいました。
やりたいこと作業を無事バッチファイルで処理することができました。
コマンドプロンプトから環境変数を設定することできますか
>324
釣りか?
326 :
名無し~3.EXE:04/04/09 08:25 ID:etLHC1Es
さんざん既出かもしれませんが、
シャットダウンのコマンドってなんですか?
DOSからだとexitじゃ電源を消せません。
ってコマンドプロンプトじゃなくてDOSなのね・・・
すみません
329 :
名無し~3.EXE:04/04/09 15:14 ID:etLHC1Es
>>328 そうなんです。
古いノ−トのWINマシーンにDOSだけを入れたんですが、
Ctrl+Alt+Delだと再起動しちゃうし・・・。
指定のポートを開閉できるコマンドって無いのかな。当方XP PRO
>>329 ホントにDOSだけ?
そしたら電源ボタン(またはスイッチ)で切るより他にないでつ。
333 :
329:04/04/09 16:25 ID:etLHC1Es
>>332 ありがとうございます。
でも、シェアウェア…
>>331 それでいいんですか?
HDやコンピュータに損害は無いんですか?
(HDに書き込み中に切るとかを論外として)
>>333 DOSはそれでいい。
コマンド入力待ち状態で電源ポチッと切るのが普通。
自動的に電源が落ちるPCしか見たことなければ
不安に思うかも知れないけど、そういうものだから。
その状態はつまり、これ以上シャットダウン処理を
する必要がないって事。電源を切って良い状態です。
>333
解説。
Winで電源off操作が必要なのは、「書き込みキャッシュ」があるから。
DOSは「読み込みキャッシュ」しか無いから、ディスクの回転さえ止まっていれば
いつ電源を切ってもOK。
【書き込みキャッシュ】
書き込むよう要求されたデータをメモリ上に一時ストックし、余裕のある時に書き込むことで
体感アクセス速度をUPする仕組み。
メモリの方がデータが新しい状態で電源をoffにするとデータが壊れる。
【読み込みキャッシュ】
頻繁に読み出すデータをメモリ上にストックし、直接アクセスの回数を減らす仕組み。
常にHDの方がデータが新しい。
DOSも余裕で書き込みキャッシュできますが・・・
できるできないの話じゃないってば。
STOPキーを数回押してから電源OFF
340 :
329:04/04/10 12:33 ID:Crc5KD+o
>>334 ありがとうございます。
試してみます。
>>335-336 詳しい解説ありがとうございます。
いままで、Windows98と2000しか使った事無かったので、
そのまま電源切るのに抵抗があったんですが…
でも、
>>334みたいなソフトがあるところをみると、
そう感じてるのは僕一人じゃないような気もします。
まあ、キャッシュ書き戻し前に、
>>334 使うとデータ飛ぶけどな
>>340 マジレスするが、あの手のツールの主目的は
バッチ処理で電源断まで実行する事にある。
夜間にバックアップを取得した後電源断とかね。
不安に感じるのは君一人ではないかも知れない。
だが不安だという理由で導入検討してるのは君一人だ。
あれは初心者の不安解消ために開発されたわけではない。
そこを理解してくれ。
なんか懐かしい Ctrl+c
とてつもないオサーンが紛れ込んでるスレはここですか?
バッチファイルにリダイレクトされたファイルの内容をバッチファイル内で使用したいです。
各行に a、b、c と1文字ずつ書かれたテキストファイル abc.txt があって
C:\>hoge.bat < abc.txt
a
b
c
となることを期待して
:main
echo %1
shift
if not "%1"=="" goto main
というバッチファイル hoge.bat を書いたら
C:\>hoge.bat < abc.txt
ECHO は <OFF> です。
となってしまいました。何がまずいんでしょう? OS は Windows2000 です。
%1は引数の一番目であって、標準入力では無い
for /f %%a in (%1) do echo %%a
とでも書いて hoge abc.txtと叩いた方が期待した動作してくれるんじゃない
>>346 …をを。
そうですね。その通りです。
そのへんがあまり身についてなかったようで。うう、頑張ります。
コマンドプロンプト(DOSプロンプト)でPerlやawkのワンライナ書こうとして
"や^や|あたりのエスケープの処理に困った人いません?
^でエスケープするらしいということは聞いたんですが動作がイマイチ…
>>348 あるあるあるある。。。。。・゚・(ノД`)・゚・。
>>314 Win2000/XPではそんな事もできるようになっていたのか。
WinNT4.0やWin98では%date%すら使えないからWSHに頼るのが最も無難だと思うが。
NT4.0やWin95ではWSHが入っていない可能性がある罠
xcopyの /exclude: オプションで指定するファイルって、
パスの途中にスペースが混じるとうまく動かないっぽいね
(「ファイルが読み取れません」と出る)。
30分ほどはまって、まさかと思って C:\ に配置したらあっさり動いた。
何でパスを引用符で囲んでもダメなんだろうか……
コマンドを使ってショートカットアイコンのリンク先を
取得する方法ってないものでしょうか。
昔はそのものずばり「shortcut.exe」というコマンドが
Resource Kitで提供されてたんだけど、無くなったのかな?
MSのftpサイトでshortcut.exeちょっと探したけど、みつからず。
WSHなら出来そうですが、どーよ?>WSH使いの方
>>358 ソース示せゴルァ
。。。俺にも分かる解説付きキボン
たぶんW2K以降のみだとおもう(ParseNameあたりが・・)
var path = "C:\\test.lnk";
var file = path.substr(1+ path.lastIndexOf("\\"));
var fldr = path.substr(0, path.lastIndexOf("\\"));
var sh = WScript.CreateObject("Shell.Application");
var item = sh.NameSpace(fldr).ParseName(file);
if (item.IsLink) {
WScript.Echo(item.GetLink.Target.Path);
}
type hoge.lnk
>>361 それが一番早い。再利用できるように情報抜き出すのは大変だが(w
>361
バイナリじゃんかヽ(`Д´)ノ
しかも一行に表示されて見たい部分は見られないし
というわけで、
type hoge.lnk > foo.txt
notepad hoge.lnk
これで決まりだな。ふふふ・・・
Microsoft (R) Windows Script Host Version 5.6
Copyright (C) Microsoft Corporation 1996-2001. All rights reserved.
C:\test.js(5, 1) Microsoft JScript 実行時エラー: 'sh.NameSpace(...)' は Null またはオブジェクトではありません。
(´・ω・`)ショボーン
>>365 xpだと "C:" でもいけたんでね・・
3行目を+1
var fldr = path.substr(0, path.lastIndexOf("\\") +1);
素直に NirComLine とかいったツールを導入してはどうでつか。
NirComLine、具体的にはどうするんでしょう。
サイト見ましたが、リンクを取得できるようには
思えなかったもんで。
Shift JISのテキストをUNICODEに変換したいのですが、いいツールありませんか?
できればフィルタコマンドとして使えるものキボン。
370 :
名無し~3.EXE:04/04/30 09:59 ID:GujNXCBF
WinXpでコマンドパッチから別のコマンドパッチを呼び出したいんですけど、
呼び出すパッチの選択肢を表示させ、それをユーザーが選べる様にしたいんですけどどの様に書いたらいいですか?
372 :
370:04/04/30 11:31 ID:GujNXCBF
>>371 うぅリファレンス見たけど判りません
もうちょっと詳しく教えて下さい。
373 :
370:04/04/30 14:56 ID:GujNXCBF
HD内のバッチ漁ってたら参考になるものが在りました。
リファレンスって初心者にはチンプンカンプンですね。
私のような初心者が来るかもしれないので一応書いときます。
set _hogehoge=
set /p _hogehoge=入力してちょ
echo %_hogehog%
pause
>>374 要求しているのは、作成時の日時時間(秒まで)であって、現在の日付と時間ではないんだが
後、ReadMe.xlsはやめれ。xls見るためにOOo起動するの面倒なんだよ
>376
cmdファイルの中身と、コメントにあるurlを見れば分かるだろ。
偉そうなんだよ。ドアホウ
>376
てめーの要求している内容に合致するわけ無いだろ。
ttp://www.atmarkit.co.jp/fwin2k/win2ktips/419batchdate/batchdate.html 書式 意味 例
%V% 変数Vの値全体 %V% ⇒「ABCDEFGHIJKL」
%V:~m% m文字目から、最後まで %V:~5% ⇒「FGHIJKL」
%V:~m,n% m文字目から、n文字分 %V:~5,2% ⇒「FG」
%V:~m,-n% m文字目から、最後のn文字分を除いたもの %V:~5,-2% ⇒「FGHIJ」
%V:~-m% 後ろからm文字目から、最後まで %V:~-5% ⇒「HIJKL」
%V:~-m,n% 後ろからm文字目から、n文字分 %V:~-5,2% ⇒「HI」
%V:~-m,-n% 後ろからm文字目から、最後のn文字分を除いたもの %V:~-5,-2% ⇒「HIJ」
timeを変数に格納して上を見て文字列を分割すれば、できるだろ。
>ReadMe.xlsはやめれ。xls見るためにOOo起動するの面倒なんだよ
いちいち、お前の都合なんざに構ってられるか
"ファイル作成時"の日時をお望みのようだから、timeでは無理なんでないの?
netstart my heart
>>380 作者見ると作品は全てバッチorスクリプトがズラーリ。
そう言えばBAT2COMの作者だ。
あれこれ捻ったバッチとか作ってんだろうなぁ。
>>381 システム エラー 1058 が発生しました。
指定されたサービスは無効であるか、または有効なデバイスが関連付けられていないため、開始できません。
>>382 ソース見てるだけでも勉強になるね。
しかも単機能ツールってのがいい。「単機能プログラムを組み合わせて、高度な処理を実現」という
シェルスクリプトの理念(つーのかな?)を思い出した。カコイイ。
>>383 コンピュータは急速に進化しているけれど、それを扱う人間はそれほど進化してないからねえ・・。
どんなに便利なOSやコンピュータを使っても、最後に求める機能はUNIXの時代と変わらないのかもしれない。
385 :
名無し~3.EXE:04/05/24 14:27 ID:MADLEBlZ
サブフォルダにも有るファイル全てをフルパスで出力してくれるコンソールアプリって無いですか?
C:\windows 更新時間
C:\windows\tinko.log 更新時間
C:\windows\system32 更新時間
C:\windows\system32\hogehoge.dll 更新時間
C:\windows\system32\helohelo.dll 更新時間
・
・
・
・
こんな感じで、必要な情報をひとつのファイルに一列で表示。
dirコマンドの出力を加工すれば良いんだろうけどそこまでのスキルが無い。。
>>385 forで%~f1と%~t1を使えばいい
forでディレクトリとファイル両方に対してコマンドを送るのってどうやってやればいいですか
>>386 forでパッチパラメーターを絡める方法が判らないよ〜
それと隠し属性のファイルに対しても。。。
もうちびっとヒント下さい。
388 :
385:04/05/24 18:13 ID:MADLEBlZ
あ、なんか勘違いしてた。
記述は同じでもバッチパラメーターとは言わないんですね。。汗
for /r C:\windows %%I in (.) do echo %%~ftI >> G:\files.txt
for /r C:\windows %%I in (*.*) do echo %%~ftI >> G:\files.txt
コレで狙った物には近づいてきたんですが、更新日が先に出力されてしまうのと隠しファイルも出力したいんですが、
どうすれば良いんだろう。。
>388=385
for /r C:\windows %%I in (.) do echo %%~fI %%~tI >> files.txt
for /r C:\windows %%I in (*.*) do echo %%~fI %%~tI >> files.txt
& フォルダオプションで隠しファイルを表示するようにする
で、どないだ?
>>388 forが隠しファイル表示出来ないのを知らなかった。すまん
for /f "delims=" %a in ('dir/s/a/b') do @echo %~fa %~ta
391 :
385:04/05/25 02:56 ID:i/DzHp6e
>>390 スゴイ
ありがとうございます、こんな使い方出来るんだ!
392 :
名無し~3.EXE:04/05/26 10:17 ID:3FYR+GF3
ファイルの更新時間を詳細に得るにはどうしたら良いでしょうか?
dirコマンドは分単位なので秒単位を取得する様にしたいのですが。
>>392 WSHのDateLastModifiedなら秒まで取得できますね。
あとは、dirに似た外部プログラムを使うとか。
>390
for ループ の()の中のdir の引数に日本語ディレクトリ名があると、動かないね。
ちょっと疑問に思ったんですが、変数やラベルの定義に日本語を使うと何か不具合な事ってありますか?
ループ処理速度が遅くなるとか、特定の文字が正しく認識されないとか。
厨房なもんで分かりやすくするのに日本語で使い続けたいんですが。
396 :
名無し~3.EXE:04/05/27 14:17 ID:Ne+pQM2m
XPであるソフトのアンインストールをするのに
コマンドラインから〜.exe /unregisterをすると書いてあったのですが、
コマンドプロンプトを実行すると
C:\Document and Settings\*****>_
となってその後ろにC:\Program Files\・・・
パスが見つかりませんとエラーが出るんですが
どうすればいいのでしょうか?
>>396 c:\program 〜 .exeを " で括る
それくらいなら「ファイル名を指定して実行」で十分
del "C:\WINNT\ShellIconCache"
と、やってもshelliconcacheが消えないんですがなぜですか?
>399
OSがそのファイルをつかんでいるからだろう。
セーフモードで起動してみれば、いいんじゃないの。
どうもありがとうございます
もう1つ聞いていいですか?
別ソフトのランチャーにWindowsのヘルプファイルのコマンドリファレンスを登録したいのですが
"C:\WINNT\hh.exe" %systemroot%\help\windows.chm
のあとどういう風に書けばコマンドリファレンスのページに飛びますか?
"C:\WINNT\hh.exe" %systemroot%\help\windows.chm::/ntcmds.htm
すいません自己解決しました
これでOKでした
>>404 echo echo %%V:~%1,%2%%>temp.bat
temp.bat
>406
2段階にしないとだめですか。うーん。。。
いきなり話題を振りますけれど、Excelなどでバッチファイルを書くのはどう思いますか?
大量のファイルを操作するのに、まずdir /bなどでファイルリストを作ってExcelに読み込む。
ソートやフィルタなどで対象ファイルを絞り込む。
文字列関数などでコマンドラインを組み立てて、そのセルをコピペ。
そしてテキスト出力→バッチファイルとして実行。
このスレ的にはperlとかでやる人が多そうですが、
中間結果が対話的に確認できるのは大きなメリットだと思うのですけれど、
いかがでしょう?
>408
まぁ、ポリシーの問題やね。
411 :
392:04/05/29 23:24 ID:XVkyOrYs
>>393 遅レスですが、やっぱ標準じゃ無理なんですね、取り合えずDirを使って後はパッチが出来てから変更してみます。
いま初めて長めなバッチを書いてます。
システムのバックアップを取り、そこから起点に日々のファイルの増減分を記録、ロールバックが出来るバックアップをするパッチです。
で、ずっとnotepadで書いてて行程の半分程出来て、やっと気づいた、
アルゴリズム考える時間よりデバッグの時間が遥かに長い。
ファイルパスに含まれてる&が実行しない様に引用符あっちにつけたりこっちにつけたり、付けたら違うコマンドが誤動作、
いちいち動作確認しながらやってます。
皆さんコマンドを書くのに何か使ってますか?
>408
Perlの実行環境があるなら別だが、そうじゃないならExcelは強力な編集ツールになると思う
定型的な処理ならVBA使えばさらに強力
今あるツールは最大限使うべし
>アルゴリズム考える時間よりデバッグの時間が遥かに長い。
それはそれで当然だ罠
>411
K2Editor を使っている。もちろん、色設定ファイルを作った。
コマンドライン上で、EXEファイルのプロパティで表示されるバージョン情報の
変更は可能でしょうか?
ResourceHackerを使えばできますが……
418 :
416:04/05/31 19:18 ID:kWWO4iVP
文章を省略したため誤解させてしまいましたが
ResourceHackerを使えばできますがこれはGUIのツールで
手入力が必要です。バッチ処理で自動でバージョンリソース
の書き換えが可能なコマンドラインのツールはないでしょうか?
なぜビルド時に指定しない
>>383 ロックファンだけ爆笑してるんだろうから、実際に実行してみるなよ。
422 :
名無し~3.EXE:04/06/03 13:59 ID:Z5CIla4e
WinXPのNtbackupのコマンドラインで、GUIでは行えるシステムレジストリのみバックアップする方法は無いでしょうか?
systemstateオプションを付けた時の強制的に他の保護されたシステムファイルまでバックアップされてしまうのを避けたいんです。
それかWinNTにあったrdiskの様なC:\WINDOWS\repairにある緊急用のレジストリのバックアップだけを更新出来れば良いんですが。
423 :
名無し~3.EXE:04/06/03 14:10 ID:49oSq2i0
OSをMEから2000に変えたんですがwordが開けません。
アイコンはあるんですが、クリックすると
「最初にこのアプリケーションをインストールした場所から
セットアップを実行してください」
と出ます。どこにあるのか分からないのですがどうすればいいでしょうか?
>423
窓から投げ捨てろ。
>422
システムの復元ってコマンドラインでは動かないのか?
ちょっと違うがregbackは?
compressと組み合わせてうまい事やれば、rdiskみたいな処理(repairフォルダ更新)も
出来そうな気がする。
>>425 regbackがXPで動きませぬ。
せっかくWin2k版を探して拾ってきたのに(2003版リソキには含まれていなかった)。。。涙。
reg saveが使えそう。
BATファイルで音量変えたいんですけど,どうやったらできますか?
>428
無理っぽい。
>>423 確かMSはMe→2kだと新規インストールしかしらへんでって言っていた気がする
WindowsXPでテキストサービスと入力言語のプロパティを開きたいけど
コマンドラインから指定する方法はありますか?
>>431 Win2000なら
rundll32.exe shell32.dll,Control_RunDLL main.cpl,キーボード,1
コマンドラインはProcess Explorer等で取得できる
質問です。
環境はXPproSP1です。
USBポートに接続したUSBメモリや外付けHDDなどを取り外す場合、
タスクトレイの「ハードウェアの安全な取り外し」を左クリックして、
目的のデバイス
(例えば「USB大容量記憶装置デバイス - ドライブ(E:)を安全に取り出します」)
をクリックして「取り外す準備ができました」を確認してから
取り外すのがもっともなやり方と思うのですが、
それをコマンドラインで実行する方法はないでしょうか?
UNIXのumountのようなことをしたいのです。
ダブルクリックした場合のデバイス一覧の表示と
同じものはコマンドラインでできるのですが、
(rundll32 shell32.dll,Control_RunDLL hotplug.dll)
取り外す準備ができましたと同等な状態までを
コマンドで実行できるようにしたいのです。
お願いします。
スタンバイから復帰したときに任意のBATファイル等を
動かしたいのですが,方法はありますか?
普通、絶対PATHはドライブ名から書き始めますが、そうではなく
ボリュームラベルでアクセスできるようなパスの書き方ってありませんか?
例えば「System:\WINDOWS」って感じに。
CDコマンドのエラーメッセージに「ボリュームラベルの構文が間違っています」というもの
があるので、ボリュームラベルの含まれた正しいパスの書き方があるのかと思って。
>437
試してないが、同じフォルダ構成でボリュームラベルの異なるリムーバブルメディアを用意し、
その中の適当なフォルダにCDした後入れ替えて、再度CDしてみそ。
>>437 表示されたエラーメッセージ、正確には、
「ファイル名、ディレクトリ名、またはボリューム ラベルの構文が間違っています。」
でしょ?
単純に、cdコマンドの引数に指定したパスが記述ミスしてるだけのお母ん
たんにCDしたいんじゃなくて、バッチで使いたいとかじゃないの?
ドライブレターじゃなくボリュームラベル指定で。
日付を入力してその日付以降に更新したファイルをxcopyする.batファイルを書いているのですが、
入力した文字列を変数に入れる方法がわかりません…
初歩的な質問で申し訳ないですが、おねがいします。
OSはXP proです。
set /p nullpo=ぬるぽ
echo %nullpo%
>>440 ああ、そういうことね。おそらく出来ないと思う。
このメッセージ文は、cdコマンドが持っているのではなくて、単にWin32エラーコードを元に
汎用的なメッセージ文を表示してるだけのようです。
てかそもそも、ボリュームラベルはユニークとは限らないし。
無理矢理やるなら、このスレおなじみforコマンドでウニャウニャすれば、
不可能ではなさそうですが。
for %i in (A B C D E F G H I J K L M N) do vol %i:|find "ぼりゅーむしりある"&&cd /d %i:
>>441 日付を、実行時の引数で指定するなら、%1
テキストファイルに書いておくなら、このスレおなじみforコマンドでウニャウニャすれば(ry
for /f "delims=" %%i in (てきすとふぁいる名) do set HIDUKE=%%i
444 :
441:04/06/16 23:04 ID:5PkjnTja
すいません、言葉足らずでした。
.batファイルをダブルクリックで実行後、キーボードからの入力を変数に入れたいんです。
set /p 変数名=
で入力待ちしてくれる。
ネットラジオ関係で落としておいたReal Audio形式(.rm)のファイルが数百個たまったのですが、
携帯MP3プレーヤで聞くために、MP3形式(.mp3)に変換したいです。
Winamp 2.80とTara's Input Pluginで.rm→.wav変換、WAV編集ソフトで音量調整、
午後のこ〜だで.wav→.mp3変換でやってたのですが、手間掛かりすぎて力尽きました。
うまく一括処理できないでしょうか?
完全自動化じゃなくてもいいです。音量調整も諦めてもいいと考えています。
いろいろ試してて、
for %i in (*.rm) do winamp.exe %i&&rename winamp-OUT.wav %~ni.wav
という感じでファイル毎にWinampをコマンドライン起動してWAV出力しようとしたのですが、
再生(出力)完了後にWinampが起動したままになってしまうようで、ダメっぽいです。
他に.rm→.wavができるコマンドラインツールがあれば、それで構いませんが、
何かいい方法ないでしょうか。。。?
>446
XPのtaskkill.exe をつかって、winamp.exeを終了すれば無問題。
>>447 killするタイミング難しいから考えたけど、Winampは、再生終了すると、タスク名に「[Stopped]」が
付くみたいなので、こんな感じでdoから後をサブルーチンにすればいけそう。
for %i in (*.rm) do SUB.bat %i
--- SUB.bat -----------------------------
start winamp %1
:LOOP
sleep 10
tlist|find /v "[Stopped]"|find "winamp.exe"&&goto :LOOP
kill winamp.exe
move winamp-OUT.wav %~dpn1.wav
ついでに、後処理のファイル名変更もrenameからmoveにしてみた。
449 :
名無し~3.EXE:04/06/30 00:54 ID:DGkXTVpQ
XPか2000の標準のコマンドで、UNIXのsleepのようなことってできるでしょうか?
>>449 標準コマンドでは無いけど、標準環境にこだわるなら、WHSを呼び出す事で同じ事は出来る。
sleep.cmd
Echo WScript.Sleep(500*10)|Command/cCScript -E:VBS -
>>449 @echo off
echo Start %TIME%
set a=%time%
set /a a=%a:~0,2% * 360000 + %a:~3,2% * 6000 + 1%a:~6,2%%a:~9,2%
:loop
set b=%time%
set /a b=%b:~0,2% * 360000 + %b:~3,2% * 6000 + 1%b:~6,2%%b:~9,2%
set /a c=b-a
if %c% lss 1000 goto loop
echo End %TIME%
>>451 1 を忘れた・・・訂正
@echo off
echo Start %TIME%
set a=%time%
set /a a=%a:~0,2% * 360000 + 1%a:~3,2% * 6000 + 1%a:~6,2%%a:~9,2%
:loop
set b=%time%
set /a b=%b:~0,2% * 360000 + 1%b:~3,2% * 6000 + 1%b:~6,2%%b:~9,2%
set /a c=b-a
if %c% lss 1000 goto loop
echo End %TIME%
非常に行儀悪いけど、標準コマンドだけで5秒待つ例。
@ping -n 1 -w 5000 192.168.255.255>nul
#確か他に、タイムアウト指定のできる無害なコマンドがあったような気がするんだが…
多分ム板からの甜菜。
@ECHO OFF
SET SS=%TIME:~6,2%
SET MYCNT=0
:LOOP
SET NOW=%TIME:~6,2%
IF %SS%==%NOW% GOTO :LOOP
SET /A MYCNT=MYCNT+1
SET SS=%NOW%
IF %MYCNT% LEQ 10 GOTO :LOOP
>>453 9x系のchoiceとか?
456 :
449:04/07/01 23:42 ID:VuOPZQ5y
遅くなってしまいましたが、
いろいろありがとうございます。
参考にさせていただきます
457 :
名無し~3.EXE:04/07/02 19:15 ID:wHYqc9+d
質問です。
WindowsXP Proです。
Windowsのftpコマンドは、passiveモードの指定ができるのでしょうか?
ヘルプみるとそれらしいのが無いみたいなのですが?
459 :
名無し~3.EXE:04/07/03 02:23 ID:HfoSb9Bo
pauseコマンドの例の文言を表示させずに
別な文言を表示させる方法はないでしょうか?
バイトが叩くバッチなので「続行するには何かキーを押してください . . .」
ではなく「Enterキーを押してください . . .」で統一できたらいいなと思うのです。
>459
@echo Enterキーを押してくだちい
pause >nul
461 :
名無し~3.EXE:04/07/03 13:33 ID:mJEDzhcc
>>460 いただきました。ありがとうございます。
462 :
457:04/07/03 19:54 ID:GIfJB8rD
>458
遅くなりましたが、ありがとうございました。
たいへん参考になりました。
保守かきこ
464 :
ヨッシー:04/07/21 17:14 ID:2EciBwtn
自動でウィルス対策ソフトのDATA更新作業を行うBATを組んでいます。
支障なく動作するように組めたのですが、タスクに入れて完全自動化
しようと思うと、ウイルス対策ソフトのサービスを止めておかないと更新
DATAが上書き出来無いためうまくいきません。
OSは2000、XPを対象に考えていて、サービスの本体プログラムも判ります。
自分で調べた中では、
@2000にはリソースキットからコマンドを追加すると可能になるらしい。
AXPではSCと言うコマンドが追加になっていて、デフォルトでもできるらしい。
と言うことが判ったくらいで、その詳細に関して記載が有るページがほとんど
無く私の実力では行き詰まっています。
任意のサービスを止める方法を研究するのに良いHP、書物が有りましたら
教えてもらえませんでしょうか。
特に、スイッチ関係を解説したページが有れば助かります。
その他の手段として、セーフモードで再起動する方法がわかれば、同様な
ことが可能とは思うのですが、コマンドラインで可能でしょうか。
教えて君で申し訳ありませんが、よろしくお願いします。
sc /?
>>464 SC入れなくても標準で出来る
NET STOP サービス
NET START サービス
つーか今時、自分で自動更新できないウイルス対策ソフトって・・・
もうだめぽ、だな
469 :
ヨッシー:04/07/22 20:54 ID:iZ9Q068b
>466
ありがとうございます。
やってみたところ、簡単に出来ました。
このコマンド自体の存在は知っていたのですが、サービス全般に対して有効な
コマンドだとは思っていませんでした。
おかげさまで、完全自動化のめどが立ちました。
>467
元々「更新しますか?」というメッセージが出るだけで、ワンクリックする必要が
あるのです (-_-;)
>>469 確認メッセージを出さないでアップデートするとかいう設定項目がありそうなもんだが・・・
471 :
XPです:04/07/25 02:30 ID:KaGKO5v+
rasphoneの回線切断のパラメータってどういう風につければいいんですか
接続は rasphone -d でいけるのですが
472 :
自己解決:04/07/25 03:01 ID:sTR+qfhT
すみません
-h で切断できました
473 :
名無し~3.EXE:04/08/09 17:37 ID:lOYIf47o
hosyu
474 :
名無し~3.EXE:04/08/12 11:30 ID:/I3cPuiG
WinXPのコマンドプロンプトで、あるコマンドの実行にかかった処理時間を
計測する方法はありませんか?
Cygwin の time とか
>>475に補足。
NT4、2000までは同様にリソキでtimethis.exeが提供されてた。
478 :
名無し~3.EXE:04/08/17 14:52 ID:NCbJPaIW
すみません、DOSコマンドについて教えてほしいのですが、
DOSコンソールで、コマンドを実行した時に出るエラーメッセージのみを、
ファイルに書き出したいのですが、どうすればいいでしょうか?
たとえば、コマンドが
c:\> hoge [リターン]
とした場合であれば、下記の内容をファイルに書き出すということです。
-------------------------------------------------------
'hoge' は、内部コマンドまたは外部コマンド、
操作可能なプログラムまたはバッチ ファイルとして認識されていません。
-------------------------------------------------------
UNIX系コンソールで言うと、
$hoge 2 > errors.txt [リターン]
という事がしたいという意味です。
ご存知の方おられましたら、ご教授よろしくお願いいたします。
>>479 ぎゃー!すみません。
2と>の間にスペースが入ってたのが原因だったようです。
とにかく、あなたの書き込みで救われました。
どうもありがとうございます。
481 :
名無し~3.EXE:04/09/03 08:48 ID:6WDLtCRe
すいません、w2ksp4なんですが、「任意の秒数待つ」みたいなコマンドはありませんか?
スタートアップにbatファイル置いているのですが、最後のtrayexpandに上手くアイコンを格納させたいのです。
>481
いますぐ手軽にやりたいのなら、PINGコマンドを使う方法がある。
例えば以下のように、IPアドレスを全く割り当ててないコンピュータ名
(ここでは仮に"TESTESTEST"としておく)に対してPINGコマンドを
任意の回数だけ実行する。
PING TESTESTEST
PING TESTESTEST
PING TESTESTEST
すいません、ちょっと上に答え有りましたね。ありがとうございました。
>>482さん、レスありがとうございます。
>>455を参考に何となく以下のようなbatを作ったら上手くいきました。
@ECHO OFF
SET SS=%TIME:~6,2%
SET MYCNT=0
:LOOP
SET NOW=%TIME:~6,2%
IF %SS%==%NOW% GOTO :LOOP
SET /A MYCNT=MYCNT+1
SET SS=%NOW%
IF %MYCNT% LEQ 15 GOTO :LOOP
cmd /c start /min D:\Applications\zonealarm\zlclient.exe
cmd /c start /min D:\Applications\Grisoft\AVG6\avgcc32.exe /STARTUP
cmd /c start /min D:\Applications\negies\NEGiES.exe
cmd /c start /HIGH D:\Applications\ProxN45j\Proxomitron.exe
cmd /c start D:\Applications\mp3infp\mp3infp_regist.exe
cmd /c start D:\Applications\TClockLight\tclock.exe
@ECHO OFF
SET SS=%TIME:~6,2%
SET MYCNT=0
:LOOP2
SET NOW=%TIME:~6,2%
IF %SS%==%NOW% GOTO :LOOP2
SET /A MYCNT=MYCNT+1
SET SS=%NOW%
IF %MYCNT% LEQ 5 GOTO :LOOP2
cmd /c start D:\Applications\TrayExpand\te.exe
>>484 オイオイ・・起動時にそんもん回すのかよ・・・
すなおにsleepの互換コマンド拾ってこいよ
>>484 何度か試してみたらCPU負荷が異常に高いことに気付いて
取り敢えず
>>453のに変更しました。
sleepの互換コマンドを拾って来るというのがよくわかりませんがググって来ます。
>>486 バッチファイルじゃなくて申し訳ないけど、W2Kなら
VBSで超簡単にできるからこれ試してみては?
ファイル名: sleep.vbs
内容↓
wscript.sleep 10000
↑このファイルを作成して
元のバッチファイルから呼び出せば
そのタイミングで指定した時間だけ処理停止する。
数字はミリセコンド。サンプルは10秒待つ例。
さらに詳しい事はWindows Scripting Hostスレで。
内部コマンドでsleep欲しいよな
そういやリソースキットの中にWinNT/2000/XPでも使えるSLEEPコマンドやCHOICEコマンドがあったな。
xpで使えるようになってるらしい?ファイル名補完2kでできるよになりません?
cygwin使えは無しであるなら教えてください
じつはNT4.0の頃から一部で知られた有名ワザだった>CpmpletinChar
494 :
名無し~3.EXE:04/09/12 11:28:02 ID:DosB5Asq
DOSで、コマンドが出力したファイル(バイナリ)を
別のファイルに渡す事ってできませんか?
| か > でできるのかと思いましたが、うまくいきません
>>494 ファイルをファイルに渡すってのがよくわからんが
入力のリダイレクトなら < で
すいません、exeがバイナリファイルを作る→そのファイルを別のexeに渡す でした。
何度やってもうまくいかないんですが、渡す相手をデフォルトで入ってる ren(リネーム)に代えて
実験したらパイプでできました。
ということは、渡す相手によってできたりできなかったりするのかも・・・と思いましたが
とりあえず諦める事にします。レスありがとうございました
ナニヲヤッタノカマッタクリカイデキネーヨ
やっぱり分からん
よくわからんけど、
ren はバイナリでなく "ファイル名"を受け取ったんでは?
500 :
名無し~3.EXE:04/09/14 19:14:44 ID:7KRa6t6r
bat内での文字列操作について質問させてください。
ファイルにパールでの処理を行って吐き出すbatを作ろうとしています。
今までは、
> move file.txt infile.txt
とリネームしてから、
> foo.pl infile.txt > file.txt
と手入力していたのですが、ドラッグアンドドロップでできないかなと…
で、とりあえず
set infile=%1
set outfile=%infile%
foo.pl %infile% > %outfile%
というのを作ったのですが、2行目の前に変数infileに対して
● 先頭にinがついてるか確認
● もしついていなければinをつけてりネーム
2行目で
● 変数outfileにinを抜いた変数infileを代入
したいのですが、やり方を教えてください。
よろしくお願いします。
>>501 パールは人に書いてもらったもので、DOSよりもさらにチンプンカンプンなのです…
>>502 なんか便利そうですね。使えるかどうかわかりませんが、落としてみます。ありがとうです。
504 :
491:04/09/16 06:12:50 ID:anUCk3zm
>>492 ありがたやあ、いやーーー無駄な労力使ってた
xpのcmd.exeがめる→叩く→動く→補完しない
→調べる→英文長い→読まずに都合のいいように解釈→試す
→動かない→辞書もって訳す→この文書関係ない
→また調べる→また英文長い→ループ
そんだけでできた、やっと抜けられました。感謝です。
ところで実行ファイルは皆さんsystem32に流し込んで動かします?
適当に bin ディレクトリ作ってパス通してる
>辞書もって訳す→この文書関係ない
ワロタ
507 :
名無し~3.EXE:04/09/17 00:05:40 ID:ojakAJM7
DLLなアプリを使いたいんだけど、具体的にはXPのPhotowiz.DLL、写真の印刷ウィザードってヤツです。
これをWin2Kでもってコマンドバッチ起動出来ないですかね?
ライセンス違反の悪寒
509 :
名無し~3.EXE:04/09/17 16:16:43 ID:f/wf/i5K
禿げしく板違いかもしれませんがが。。
officeが入っていないPCにofficeの修正モジュールをあててもエラーを吐かないようにしたいと思います
以下のようにスイッチオプション入れてるんですが、「このシステムには必要とされているバージョンの製品は有りません」のダイヤログがでてしまいます。
office2003-kb838905-client-jpn.exe /r:n /q:a
なにかスイッチオプションが足らないのでしょうか?
> officeが入っていないPCにofficeの修正モジュールをあてても
知るかヴォケ
そこはかとなくスレ違い
512 :
名無し~3.EXE:04/09/17 17:12:08 ID:f/wf/i5K
DOSバッチでInstallerを順番にキックしてるのですが
XPでは1つ目が終ったら2つ目という感じで待ってくれるのですが
同じ内容のバッチをWindows98では一気に全部キックをかけてしまっているようです
これは仕様でしょうか?
>>509 多分それ以上何もできないと思う。
Officeが入っているかどうかを事前に確かめて条件分岐するように
バッチ内で仕掛けた方が確実で結果的にラクだと思うよ。
>>512 仕様かも。一行ごとに行末に /wait ってつけてもダメ?
start /wait 実行ファイル
駄目ならあきらめろ
515 :
512:04/09/21 14:40:01 ID:RynxcHcp
>>513 514
有難うございますm(__)m
うまくいきました
516 :
名無し~3.EXE:04/09/21 19:00:33 ID:/2+D4uI3
質問です。
以下のcmdファイルは、ある本のサンプルなのですが、
-----------------------------------------------
@echo off
:start
set /p x="ディレクトリを指定してください(終了はend) > "
if %x%==end goto end
dir %x% /w
goto start
:end
set x=
-----------------------------------------------
最後の行の「set x=」(変数の消去?)は必要なのでしょうか?
使い終わったら片付ける日本人の心です
実用上、意味ないんじゃないの?
コマンドプロンプトの中で実行した場合や別のバッチファイルからcallして実行した場合に、環境変数xが残ってしまうので、
後続処理中で環境変数xを初期化しないで使ってたりした場合に影響するのを回避する、という効果はあるかもしれないけど。
そういう目的ではsetlocal、endlocalを使うべき。
レスどうもです。
>>517 確かにそうですね。
>>518 なるほど、
>>516のバッチファイルを単体で実行&終了した場合は意味がありませんが、
後に処理が続く(終了しない)場合は、変数xが残ってしまいますね。
>>516のバッチファイルから、最後の行の「set x=」を削除して、実行&終了してみても
変数xは残らないので、何の意味があるのかと思って質問してみたのですが
使い方によっては残るケースがあるのですね。
まだ始めたばかりでよく分からなかったのですが、おかげさまですっきりしました。
ありがとうございました。
520 :
昔話:04/09/21 20:14:42 ID:bs5ubTHp
環境変数の領域サイズは標準で256バイトだったかな?
ちょっと凝ったbatを他人の環境で走らせるとすぐにエラーになったもんだ。
勉強用のサンプルプログラムにケチつけるのもなんだけど、
コマンドと同名のラベル名を使うセンスはいかがなものか。
522 :
名無し~3.EXE:04/09/22 03:46:25 ID:kZrQGfFq
遅レスですが、初代スレの616さん。
あなたのFOR文の解説、自分のような初心者にもとてもわかりやすかったです。
目から鱗が落ちた気分です。
もう覗いてらっしゃらないでしょうが、この場を借りて御礼申し上げます。
WindowsXPHomeを使っているのですが、
コマンドプロンプトを使用してc:\u\のフォルダを開きたい(explorer.exeで)のですが
どうすればよいでしょうか?
また、同様にtxtファイルをNotepadで起動する方法もご教授お願いしますm(_ _")m
また、cdを使ってデスクトップに移るとき、cdの後はなにを入力すればよいでしょうか。どんな名前のアカウントでも成功できるようにお願いします。(私的にはアカウント名のところをAll usersに変えることくらいしか思いつきません...)
改めてご教授お願いします。
explorer.exe c:\u\
notepad.exe 〜.txt
cd "%USERPROFILE%\デスクトップ"
ありがとうございました〜
3つともうまくいきました〜
.exeは必要ないが
むしろstartを使ってみる
あえて〜.txtだけで実行してみる
>>526 ついでに是非コレも試してみるといい。(Windows95/98/Me/NT/2000/XPどれでもできるはず)
explorer.exe /e,c:\u\
explorer.exe /e,/root,c:\u\
531 :
名無し~3.EXE:04/09/24 17:32:33 ID:Kdr7n5sY
他のPC上にある共有リソースをいぢくる場合の振る舞いを知りたいのですが。
例えばバッチファイルで
1. 共有リソースをZ:にマウント
2. Z:上のファイルをローカルにコピー
3. Z:上のファイルを削除
4. Z:をアンマウント
とした場合,2のコピーが完了するまで待ってから3の削除が行われるのでしょうか。
一応テストしてみたところそのように動いているようですが,両PCが物理的にもネットワーク的にも近いため,今ひとつ確証が持てない状態です。
本番環境は物理的に結構離れているのと,コピーするファイルが結構大きいため不安なのですが,まさかエイヤでやってみる訳にもいかずに困っています。
もひとつ,上記のZ:にマウントする時,あらかじめ用意したPCのIPリストを用意してForでnet useを回すつもりですが,相手方PCが起動していない等でマウントできない事をトラップしたい場合はどうしたらよいのでしょうか。
複雑な処理がしたいわけではなくて,単にマウント出来ない→スキップが出来ればよいのですが。
あるいはWSHなどでないと実現は出来ないのでしょうか。
宜しくお願いします。
532 :
531:04/09/24 18:12:46 ID:Kdr7n5sY
自己レス気味に。
もしや「copy じゃなくて move を使え」ってオチ?
別に共有リソース上のファイルだからといってローカルファイルと
そんなに変わらないでしょう。
不安であれば、copy コマンドを使うなら/v /Y /Zオプションあたり
を使って、なおかつERRORLEVELをチェックするとか。
マウントもERRORLEVELを調べればマウントされたかどうかわかるでしょう。
534 :
531:04/09/24 18:22:57 ID:Kdr7n5sY
>>533 ありがとうございます。
net use \存在しないPC\存在しないDir\
echo %ERRORLEVEL%
としたら ERRORLEVEL 2 が返ってきました。
これでなんとかいけそうです。
複数のコマンドを連続して使うとき、プロンプトから一度にまとめて入力できませんか?
バッチファイルは使わすに
&
&&
||
サンクスコ
DOS窓のタイトルバーに任意の文字列をセットするにはどうするんだ
title 任意の文字列
sleep.exe を使わずにウェイトをとるのに ping を使うってのが挙げられているけど
kernel32.dll の SleepEx を使う方法ってないかな
APIはUIじゃない。
アニメじゃない
544 :
名無し~3.EXE:04/10/04 19:47:32 ID:OiHYAvyt
検索しても分からなかったんだけど
titleコマンドは、95/98/Meでも使える?それとも2000/XP専用?
546 :
名無し~3.EXE:04/10/04 23:50:56 ID:OiHYAvyt
>>545 あれ?そんなページ出てこなかったけど・・・検索の仕方が悪かったか。
このページすごいな。お気に入りに入れて勉強しよ。
サンクス。
547 :
名無し~3.EXE:04/10/11 04:27:33 ID:eb2RKJf8
質問です。
xpで、data1.dat 〜 data200.dat を
data001.dat 〜 data200.dat に名前変えようと思って
ren test?.dat test00?.dat
(ren test??.dat test0??.dat)
ってしたらtest00.dat ができるだけで上手く動作しないんですけど、
ワイルドカードの認識がおかしくなったりするのでしょうか?
何とか上のように動作するコマンドはできないものでしょうか。
for /l %a in (1,1,9) do ren data%a.dat data00%a.dat
for /l %a in (10,1,99) do ren data%a.dat data0%a.dat
>>548 for 使えばよかったんですね。
ありがとう。
で、じっさいの拡張子は.jpgだったりするんだよね。
551 :
名無し~3.EXE:04/10/18 23:41:47 ID:HDp6Y9L8
プロセス一覧を取得するコマンドはなんでしょうか?
tasklist
質問する人は、使用してるWinのバージョンも書いてくれるとありがたいなと思うこの頃。
(バージョンによっては使えない機能があるので)
例えば>551の質問はXPなら>552で正解だけど、2k以前だと>553。
555 :
名無し~3.EXE:04/10/20 03:44:24 ID:TWT6y3C2
Windows XP [Version 5.1.2600]
拾ってきたsedコマンドであれこれした値を変数に入れる方法がわかりません。
"cut3 MPA T01 DELAY 17ms.mpa.ogg"というファイルがあるとして
dir /b "cut3 MPA T01 DELAY *ms.mpa.ogg" | sed 's/ms.mpa.ogg$//'|sed 's/^%~n1 MPA T01 DELAY //'
で'17'という値を取り出したまではいいんですが、それを変数"DELAY_TIME"に入れるにはどうすればいいでしょうか?
set DELAY_TIME=`command` みたいなコマンド置換でいけると思ったのですが・・
for /f %a in ('command') do set DELAY_TIME=%a
557 :
555:04/10/20 13:43:32 ID:3U2oyKqO
>>556 ありがとうございます。それでうまくいきました。
for /f %%a in ('dir /b "cut3 MPA T01 DELAY *ms.mpa.ogg" ^| sed "s/ms.mpa.ogg$//" ^| sed "s/^cut3 MPA T01 DELAY //"') do set DELAY_TIME=%%a
558 :
553:04/10/20 19:37:05 ID:qI2tmIm4
559 :
名無し~3.EXE:04/10/21 00:38:03 ID:dZ7cXOBo
tasklistはXP pro専用
ageちった。スマソ
質問です。
dir hoge > c:\temp.log 2>&1 と
dir hoge 2>&1 >c:\temp.log で結果が違うのはどうしてですか?
[Microsoft Windows XP [Version 5.1.2600]
上はdir hogeの標準出力をtemp.logにリダイレクトするときに
標準エラー出力を標準出力(temp.log)にリダイレクトする記述だから
temp.logに標準出力と標準エラー出力が書き込まれる。
下はdir hogeの標準エラー出力を標準出力(コマンドプロンプト)
にリダイレクトしてから、標準出力をtemp.logにリダイレクトする記述だから
temp.logに標準出力だけが書き込まれる。
つまり、ご飯とみそ汁として食べるか、ねこまんまにして食べるかの違いってことか。
ちょっとワロタ
的確な例えだな。
ネットワークドライブを使っているんですが、xpってパスワードを記憶できないので、
起動時に毎回 net use で、パスワードを使って接続しているんですが、delete
せずに同じ資源に何回も接続するのってまずいでしょうか?
サーバ側でセッションが残っちゃう、とかそういう心配ですか?
普通は大丈夫だよ。
568 :
名無し~3.EXE:04/10/30 21:41:26 ID:MHBQ3rx2
すみません。
Support Toolsのkill.exeについて聞きたいのですが、
TEST.bat(中身は 「"D:\Program Files\Support Tools\kill.exe" msnmsgr.exe」 一行だけ)
を実行しても、
MSN Messengerのような、右上の×を押すとタスクトレイに収納されるタイプのソフトが終了できません。
何かいい手はないでしょうか?
お願いします。
Support Toolsのkillにも-fオプションはあるね。
これで望みのことが出来るのか分からんけど。
>>568 kill でも同様に /F で終了できました。
ありがとうございました。
どうかお助けを。
Javaプログラムから、入出力を扱うプログラムを別プロセスとして
起動したいのです。その際には別プロセスのプログラム起動時に
コマンドプロンプト(ウィンドウ)を出したいわけです。
これの方法が分からなくて困っています。
例えばコマンドプロンプト上で新しいプロンプトウィンドウを出す
方法が分かれば解決しそうなのですが…。プロンプト上で cmd も
command.com も実行しても新しいウィンドウは出来ないし…。
どなたか有効な方法を知っている人います?
574 :
573:04/10/31 00:10:45 ID:wsLzORks
バージョンは
Microsoft Windows XP [Version 5.1.2600]
です。
start
576 :
573:04/10/31 00:48:16 ID:wsLzORks
どうしてもできないから WSH を使って何とか実現する方法を検討してた
俺が馬鹿だった…… orz
ありがとうございました!
コマンドスクリプトで、
あらかじめダウンロードしてある修正プログラムをまとめてインストールしたいんですけど、
E:\update\KB87654321.exe
の後に何のオプションつけるですか?
がらーーーーーん
579 :
578:04/10/31 22:29:21 ID:ecXijKhO
すまん誤爆。
xcopy 使ってるんだが、一つ不満が…
ディレクトリのタイムスタンプがコピーした日時になってしまう…。
なんかお薦めない?
/dスイッチ付けて2回コピーすれば2回目に直るよ。
xcopyの処理が、先ずフォルダをコピーして、その次にそのフォルダの中身を
コピーするので、サブフォルダやファイルがコピーされ作られるタイミングで
親フォルダの更新日時が変わってしまうみたい。
>>583 レスどうも。試して見たが、うまくいかない。
ほとんどのディレクトリのタイムスタンプだけがコピーした日時になってる…
OSのバージョンと、試したxcopyのコマンドライン晒して。
Windows 2000で確認したけど
xcopy /d /e /i コピー元フォルダ コピー先フォルダ
で上手くいったよ。
ディレクトリの日時変更ができないのは大昔からの伝統です。
>>585 あぁ、解った。最初の xcopy の時も /d オプション必要ってことね。これを忘れてた
「ファイル」はコピー必要ないから、/t オプションでやるといいね。
でも、2回実行しないといけないというのがなんとも…
ありがとう。解決できた
サーバー:Win2000
クライアント:Win98
〜nanika.ini〜
名前,ログオンユーザー名,グループA
名前,ログオンユーザー名,グループB
この環境下でログオンスクリプトでドメイングループを判別して分岐したいと思っています。
for /f "tokens=3 delims=," %%i in ('findstr /b "%username%" nanika.ini') do call :nantoka %%i
:nantoka
if %i == "グループA" goto :Adazo
if %i == "グループB" goto :Bdazo
という式だと構文が違うと言われ、ifmemberで出来たら言うこと無しですがコマンド認識されず。
かなりお手上げ状態なんですが、何か方法がありますでしょうか?
やっぱりW98でドメイングループの取得って不可能でしょうか・・・・
そもそも、win98 のコマンドプロンプトで for /f が使えてるの?
Win98は、findstrやcallのターゲットがラベルってのも使えない
特定のディレクトリ下にある全てのディレクトリに特定のディレクトリを追加するコマンドを教えてください。
よろしくお願いします。
訳がわからん
よし、宇宙語検定4級の俺が翻訳してみよう。
C:\
└hoge
├foo1
├foo2
└foo3
↓
C:\
└hoge
├foo1
│└test
├foo2
│└test
└foo3
└test
こんな感じか?
リパースポイントのことか?
「FIND /N "文字列" 対象ファイル」とすると
「[行番号] ファイル名」のように結果が出るが、
この検索語が見つかった[行番号]を変数に入れたい。
無理?
600 :
597:04/11/10 09:52:25 ID:7TFkKkwx
>>598 FOR /F "delims=]" %%i IN ('FIND /N "文字列" 対象ファイル') DO SET G=%%i
SET G=%i:~1%
で出来た。ありがとう。
601 :
597:04/11/10 09:53:08 ID:7TFkKkwx
>>599 私はXPだ。君にも感謝する。ありがとう。
602 :
名無し~3.EXE:04/11/14 06:16:05 ID:NEYZVDiV
ipconfig = linuxのifconfigと思ってたら違った
MS-DOSでネットワークを有効/無効にするコマンドってある?
GUIでやるしかないですか?
netshとかでできそう
604 :
602:04/11/14 07:57:30 ID:NEYZVDiV
>>603 レスどうもです。
netshでネットワークインターフェースを有効/無効にするものは見つかりませんですた...
netsh じゃできなかったはず
606 :
名無し~3.EXE:04/11/14 09:58:12 ID:sMNe0LIb
あるファイルの9行目だけをバッチで書き換えるということは可能でしょうか?
CD ディレクトリ名
EDLIN "ファイル名"
で出来そうな気がするんですが。
>>602 XPだけど、こんなWSHでできた。(vbs)
Const ssfCONTROLS = 3
sConnectionName = "ローカル エリア接続"
sEnableVerb = "有効にする(&A)"
sDisableVerb = "無効にする(&B)"
set shellApp = createobject("shell.application")
set oControlPanel = shellApp.Namespace(ssfCONTROLS)
set oNetConnections = nothing
for each folderitem in oControlPanel.items
if folderitem.name = "ネットワーク接続" then
set oNetConnections = folderitem.getfolder: exit for
end if
next
if oNetConnections is nothing then
wscript.quit
end if
set oLanConnection = nothing
for each folderitem in oNetConnections.items
if lcase(folderitem.name) = lcase(sConnectionName) then
set oLanConnection = folderitem: exit for
end if
next
if oLanConnection is nothing then
wscript.quit
end if
続き
bEnabled = true
set oEnableVerb = nothing
set oDisableVerb = nothing
s = "Verbs: " & vbcrlf
for each verb in oLanConnection.verbs
s = s & vbcrlf & verb.name
if verb.name = sEnableVerb then
set oEnableVerb = verb
bEnabled = false
end if
if verb.name = sDisableVerb then
set oDisableVerb = verb
end if
next
if bEnabled then
oDisableVerb.DoIt
else
oEnableVerb.DoIt
end if
wscript.sleep 1000
DOSプロンプトが開けない。どうなってしまったんだマイPCよ。・゚・(ノД`)・゚・。
年の瀬も近づいてきました
再インスコの季節ですね!!
アヒャ
ftpコマンドでパーミッションの変更ってできないでしょか?
ヘルプ見てみたけど、それらしいコマンドがない
ssh でいいじゃん
>>611 quote site chmod xxx hoge
xxxは755とか666とかね
hogeはファイル名
>>613 おお、できました。
サンクス
ftp> quote site chmod 705 cgi-bin
200 SITE CHMOD command successful.
615 :
602:04/11/14 22:59:10 ID:NEYZVDiV
>>607 レスさんくす
早速ためしてみるよん.
けっこう大変そうだね.
プログラマブルにネットワークを有効/無効にする必要ってあまり無いんだろうけど...
616 :
602:04/11/14 23:21:07 ID:NEYZVDiV
>>607 できた! サンキュー!
ちなみにWin2kでは "ネットワークとダイヤルアップ接続" でいけました
これからvbsも勉強すっか
>>609 XPじゃないけど、環境変数の「プロンプト」がおかしくなるとどうにかなるという話が
>>617 俺もXPじゃないです_| ̄|○
環境変数・・・少し調べてみます
>>618 W2k なら ComSpec の値がおかしいとダメになる。
デフォルトでは %SystemRoot%\system32\cmd.exe で、これは変更しないのが普通
SET mojistr="uuu"fff
FOR /F %%i IN ('FIND "%moji%" test.txt') DO ECHO %%i
とすると、
INの中で「""」を「uuu" test.txt」から探すという風になってしまうんですが、
回避できますか?
ファイルに吐き出してfindstr /g
echo "uuu"fff>foo.tmp
for /f %%i in ('findstr /g:"foo.tmp" test.txt') do echo %%i
del foo.tmp
622 :
620:04/11/21 14:22:55 ID:bASGCK7N
>>621 どうも"の使い方がまずかったようで、
SET mojistr=""uuu"fff"
FOR /F %%i IN ('FIND %mojistr% test.txt') DO ECHO %%i"
と予め%mojistr%に""を含めてやるといけました。
教えてもらったのにすみません。
623 :
名無し~3.EXE:04/11/22 21:25:40 ID:Sh7AJFLN
はじめまして、
皆さんに教えてもらいたいことがあります。
バッチファイルを作っているのですが、その過程で
「tabキーを2回押して、Enterを押す」っていうのは
どのように記述すればいいのでしょうか?
教えてください。
よろしくお願いします。
echo
echo
echo.
(echo & echo & echo.) | hogehoge
625 :
623:04/11/22 21:47:28 ID:d7AS6F+3
>>624 すいません。もう少し詳しく教えてくださりませ。
よろしくです。
あー、投稿したらTabが消えてるのか
unix の touch に相当するコマンドは?
0バイトのファイル作るなら
type AAA.txt>AAA.txt
>>629 Win9xなら
rem>AAA.txt
でよかったのにな。ファイル名を2度打たなければならないのが面倒だ。
>>630 要は空であればなんでもいいので
type nul>AAA.txt
>>631 それだ!
>>630 え?って事は、バッチファイルで>がある行のコメントアウトってどうやるの?
>>633 remだとできないんだったかな?忘れた。
行頭に : をつけてラベルにしてしまえば、事実上コメントになる。
:/ などとして : の次の文字をラベルとして使えない文字にすると実行速度が少し上がるらしい。
remと違って、echo onでも表示されないという違いもある。
ちゃんと2k/XPでも使える。
635 :
628:04/11/24 15:30:35 ID:0Xuuhc/Z
(´д⊂ヾ
>>635 標準コマンドには無い。
フリーソフトならいくらでもある。
つか、なにがしたいのか言えば?更新日付の変更?
質問。
ipconfig/flushdnsって入力
↓
関数は実行中に失敗しました。
dnsキャッシュが消えないんです。助けてください。
ipconfig と /flushdns の間に半角空白入れた?
640 :
638:04/11/24 23:21:49 ID:s3xgEHZN
>>607 無効→有効にするWSHってどんな感じでしょうか?
いろいろとカスタマイズしてみたんですが、うまくいかないもので・・・
>>641 補足
無線LANがうまくつながらないので、
対応策として無効→有効を手動で実行中!!
スタートアップかなんかに入れて自動に出来れば・・・
うまい方法ありますか?
WIN98まであったCHICEに変わるものご存知ですか?
バッチファイル内の処理を一定時間まって次の処理にもって行きたいので。
WinXP-PRO対象です。
>>641 有効の時に実行すれば無効に
無効の時に実行すれば有効になるよ。
>>640 ipconfig /displaydns でDNSリゾルバのキャッシュは表示できる?
>>644 こんな感じでしたいんですよ・・・・
有効(実行前)→無効→有効
いわゆる再起動見ないな感じですかね?
>>647 このスクリプトを2回連続して実行すれば有効->無効->有効となると思うけど
1つにまとめればこんな感じかな。
Const ssfCONTROLS = 3
sConnectionName = "ローカル エリア接続"
sEnableVerb = "有効にする(&A)"
sDisableVerb = "無効にする(&B)"
set shellApp = createobject("shell.application")
set oControlPanel = shellApp.Namespace(ssfCONTROLS)
set oNetConnections = nothing
for each folderitem in oControlPanel.items
if folderitem.name = "ネットワーク接続" then
set oNetConnections = folderitem.getfolder: exit for
end if
next
if oNetConnections is nothing then
wscript.quit
end if
set oLanConnection = nothing
for each folderitem in oNetConnections.items
if lcase(folderitem.name) = lcase(sConnectionName) then
set oLanConnection = folderitem: exit for
end if
next
if oLanConnection is nothing then
wscript.quit
end if
set oEnableVerb = nothing
set oDisableVerb = nothing
for each verb in oLanConnection.verbs
if verb.name = sDisableVerb then
set oDisableVerb = verb
oDisableVerb.DoIt
wscript.sleep 1000
end if
next
for each verb in oLanConnection.verbs
if verb.name = sEnableVerb then
set oEnableVerb = verb
oEnableVerb.DoIt
wscript.sleep 1000
wscript.quit
end if
next
650 :
638:04/11/26 20:29:47 ID:+csQtnBp
DNS Clientサービスが止まっているに、13ペソ
652 :
638:04/11/26 22:57:39 ID:+csQtnBp
DD@@@
↑とっといて下さい。ベリーサンクスコ。
チェックディスクした後、そのままデフラグするコマンドってできるんでしょうか?
すっきりデフラグ
chkdsk
defrag
え、、ああそうだね、そうした方が良いよ。
質問なんですがバッチファイル内で日付DT名を参照して処理する方法が判りません
for /F "tokens=1-3 delims=/ " %%a in ('date /t') do SET DT=%%a%%b%%c
md %DT%と作るのはいいのですが
この後xcopyしたフォルダを他の(diff処理)バッチ内で処理する際
前日と今日の日付のフォルダ名をうまく扱えないので
誰かご教授下さい。
diffコマンド以下のデイレクトリ選択で上で作成した今日のdate DTと
昨日のdate DTを扱うにはどうすれば
いいんでしょうか?temp以後を手動で直して使うのが悲しいです。。。。
なので定時処理できず。あとプロント画面を出力してtxtファイル化するコマンドな
んてありますか?出来ないのかな。
diff.exeにそれらしき結果txt出力のオプションが見当たらない気がしたので。。。
プロントを選択してコピーする手作業なんです。
diff.exe /temp/20041128/ /temp/20041129/
をdiff.exe /temp/2004*/ /temp/*/など凡庸にしてcornやタスクで動かしたいのですが
無理でした。。。回避できますでしょうか。ご教授下さい。
環境はM$ W2kです。
-1でいいならSET /A
SET /A DT=%date:/=%-1
diff.exe /temp/%DT%/ /temp/%date:/=%/
>659様ありがとうございます。
悲しいことに/temp/0/となってエラーが起きてしまいます。
せっかくヒントを下さったのに回避できません。orz....
どうかお教えて下さい。教えて君ですみません。
C:\Documents and Settings\Administrator\デスクトップ\dl\agent 補完代行評価版
調査中\diff関連\GNU diffutils 2.7.2 (Win32 版)>SET /A DT=月 20041129-1
演算子がありません。
C:\Documents and Settings\Administrator\デスクトップ\dl\agent 補完代行評価版
調査中\diff関連\GNU diffutils 2.7.2 (Win32 版)>diff.exe /temp/0/ /temp/月 20041
129/
diff.exe: extra operand `20041129/'
diff.exe: Try `diff.exe --help' for more information.
C:\Documents and Settings\Administrator\デスクトップ\dl\agent 補完代行評価版
調査中\diff関連\GNU diffutils 2.7.2 (Win32 版)>pause
続行するには何かキーを押してください . . .
>>648 あいがとございます。
いろいろためしてみます。
ついかなんですが、起動時に強制的に無効になるように設定してもいいかなと思っているんですが・・・
スクリプト分らないので、協力お願いできますか?
(WSHの本を買ってみたんですが、すぐに必要なので・・・)
>>661 すまん %date:/=% がよろしくなかった
XPだと曜日が入らんもんで
663様すいませんです。
XPだと曜日が>Windows 2000の場合は%date%の先頭に曜日が表示されるので、これを取り除くためには、%date%ではなく、%date:~-10%とする。これにより>
と@ITにあり試したら今度は>SET /A DT=2004/11/29/=-1
オペランドがありません。
と言われてしまいました。w2kでもXPでも同じ事をするのに
書き換えが必要なのが判りました。
しかしオペランド。
無理なのでしょうかorz.....
お書きしていただけ得ると助かります。たびたびすいません。
>>664 @ITの見たけど俺よりあっちを参考にしたほういいね
月初めとかまったく頭に無かったし
すいませんでした。
簡単にw2kで処理できればいいのでお願いします。しっこくてすいません。
XPでdateから1引く処理>w2Kでdateから1引く処理に翻訳してもらえないでしょうか。
うるう年とか月初めとか色々考慮した
プログラマブルにしだすと私には荷が重過ぎます。
なので-1でいい教えてくださったSET /Aがいいでつ。なのにうまくいかないです(泣)
>665様
色々ありがとうございました。うまくいきませんが諦めました。
>>667 FOR /F "eol=; tokens=1,2,3 delims=/ " %%i IN ('DATE/T') DO @SET NITIJI=%%i%%j%%k
FOR /F "eol=; tokens=1,2 delims=: " %%i IN ('TIME/T') DO @SET NITIJI=%NITIJI%%%i%%j
WinNT/2000/XPなら、以上2行を上から順番に実行する手もあるが。
>667様ありがとうです。
優しい方がいて下さって感謝感激です。
diff.exe /temp/20041129/ /temp/20041130/ > diff.txt
diffは昨日の処理分データと今日の処理分データを比較して差分テキストを作るのですが
diff.exe temp/前日分をシステムの関数から取る/ temp/今日の分をシステムの関数から取る
と意図したとうりならず
対象日付がうまく生成されずに比較対照(デイレクトリ)を見失い
比較対照に失敗してしいる様でextra oplaterと返してきます
定時処理化は無理そうでワンライナー書いてます。
可能なら定時処理したいのですが、難しいです(泣)
パッチの中で2つの時刻様子をうまく指定する方法が判りません。
自力では無理ぽ。諦めてます。出来るんでしょうか?
出来た方がいたら神だって崇めます。もう無理ぽ。疲れますた。ワンライナーでいいやって
投げてしまいました(涙)回避できますか?
諦めが悪くてスマソ。逝って来ます。
コマンドの使い方じゃなくてロジックに頭を使え。
ロジックじゃないものね、男と女は。そうでしょ?
上書き込みしたdiffな問題回避できました。
スレの答えて下さった方ありがとうございました。
別に計算しなくても良いんではないかと。
set now=%date:~-10,4%%date:~-5,2%%date:~-2%
for /f "tokens=1,2" %%i in ('type date.txt') do (
if not "%%j"=="%date:~-10,4%%date:~-5,2%%date:~-2%" (
echo %%j %date:~-10,4%%date:~-5,2%%date:~-2%>date.txt
set day1=%%j
set day2=%date:~-10,4%%date:~-5,2%%date:~-2%
) else (
set day1=%%i
set day2=%%j
))
echo 1=%day1%
echo 2=%day2%
遅延環境変数使えばもう少し綺麗に書けるかと。
>673様ありがとうございます。一応回避はでき定時処理は出来ました。
675 :
名無し~3.EXE:04/12/05 12:37:16 ID:G+Pyzic8
FTPでBookmarkの共有をしようと思い
コマンドプロンプトでやろうと思うのですが
手動でやるとうまくいき、Batでやるとうまくいきません・・・・
FTPのバッチ作成の解説があるURLってありますでしょうか・・・
ログインもできない状態です。。。。
誰か誘導キボン
677 :
675:04/12/05 13:15:20 ID:G+Pyzic8
>>676 一発で出てきた・・・1時間ググッても出てこなかったのに。。。
頑張ってもできなかったので
質問させて下さい。
-----------------------------
get IEXPLORE.EXE URL >test1.htm
-----------------------------
複数個まとめてバッチにすると出来ません(泣)
-----------------------------
get IEXPLORE.EXE URL>test1.htm
get IEXPLORE.EXE URL>test2.htm
-----------------------------
併記しても駄目でした。
-----------------------------
get IEXPLORE.EXE URL>test1.htm URL >test2.htm
-----------------------------
start IEXPLORE.EXE URL1
start IEXPLORE.EXE URL2
-----------------------------
などは出来るのですが、getだと出来ません。なんでなんでしょうか。
多分自分の記述のせいだと思うのですが、出来ない事なのでしょうか
get IEXPLORE.EXE URL >test1.htm
----------------------------------------------------------
ワンライナーなら成功しますがまとめて処理したいのに出来ないです。
>>679 それ、どうやって使うの?
解説があるURL紹介してくれ。
>>678 getってどこで配付されているの?
標準で入っていないから確認出来ないよ
682 :
678:04/12/06 00:57:01 ID:WJVP2I/L
話が通じてない・・・・
>>684 Windowsには get というコマンドは無い。といっているのが判らんのか?
getメゾットはブラウザに与える挙動の属性の1つ(正確なプログラムの定義じゃないと思うw)
ネットワークプログラムしたくて彷徨ったついでに得た知識
cmd固有の物では無い。
一般的にブラウザに内包されているパラメータのようで
IEやネスケ タブラウザなんでもあると思う。
URLは知らん。忘れた。IEでも動いたしunDonutでも動く。
話がかみ合ってないよ、こいつ
( ゚д゚)ポカーン
試してみ
>>689 $ which get
get: Command not found.
うそだろ。環境で違うのか?
w2kでIE6
get IEXPLORE.EXE
http://pc5.2ch.net/test/read.cgi/win/1062775949/l50 でhtmlソースベタでプロントに出るゾ
06 01:16:48 ID:WJVP2I/L<dd>getメゾットはブラウザに与える挙動の属性の1つ(正確なフ
゚ログラムの定義じゃないと思うw)<br>ネットワークプログラムしたくて彷徨ったついでに得た
知識<br><br>cmd固有の物では無い。<br><br>一般的にブラウザに内包されているパラメ
ータのようで<br>IEやネスケ タブラウザなんでもあると思う。<br><br>URLは知らん。忘
れた。IEでも動いたしunDonutでも動く。<br><br><dt>687 :<a href="mailto:sage"><b>
名無し~3.EXE</b></a> :04/12/06 01:18:28 ID:G582bXre<dd>話がかみ合ってないよ、こ
いつ<br><br><dt>688 :<a href="mailto:sage"><b>名無し~3.EXE</b></a> :04/12/06 0
1:19:07 ID:/uriwBh/<dd>( ゚д゚)ポカーン<br><br><dt>689 :<a href="mailto:sage"><b>
名無し~3.EXE</b></a> :04/12/06 01:23:38 ID:WJVP2I/L<dd>試してみ<br><br><dt>690
:<a href="mailto:sage"><b>名無し~3.EXE</b></a> :04/12/06 01:24:58 ID:/uriwBh/<
dd><a href=689 target=_blank>
>>689</a><br>$ which get<br>get: Command not found.
<br><br></dl><font color=red face="Arial"><b>169 KB</b></font> <font
perlで使えるんだlinuxとかunixでも似たよなブラウザ動かすパラメータはあるだろうし。
OS環境で違うのか?ごめんM$じゃないのか?
多分NT系(w2k XP)とNT系以外だとcmdプロントとIE
パラメータ扱いが同じwinodwsでも違うと思うので
windowsで出来ない人はそれが原因かと。
2000、XP、2003にも95、98、Meにもgetなんてコマンドは無い
大方ActivePerlのget.bat
出力の一行目に400 URL must be absoluteとか出てないか
getもstartも(IE)ブラウザに持たせるパラメータであって
シェルが関数をブラウザに渡してブラウザがそれを理解して動いているかな?
windowsが純粋に持つコマンド郡では当然無いです。
ホントだ(鬱
C:\Documents and Settings\Administrator>get IEXPLORE.EXE
http://pc5.2ch.net/tes t/read.cgi/win/1062775949/l50
400 URL must be absolute
てつきりIEXPLORE.EXE走ってると思った。startでIEやunDonが起動してたので
getで取ってると思った
すいまそん。逝ってきます。これperlが動いてたのかorz...
>697
start以外で保存させるようなパラメータをIEに与えられないかなと
思っていたんでgetでと浅はかでした。すいませんorz............
IEに保存させるようなパラメータって与えられる物なんでしょうか?
そもそも無い気がしてますが、、、
すいません>696の間違いです
WSHでMicrosoft.XMLHTTPを使うとか
703 :
701:04/12/06 02:30:06 ID:WJVP2I/L
702>ありがとうです。
なんか、すげースレが伸びてると思ったら・・・ワロタ
で、getはバッチファイルなんだから、バッチファイルから呼び出すには、
callコマンドを使わないといけない。
call get URL>test1.htm
call get URL>test2.htm
なお、Win9xだとバッチファイルの実行結果はそのままでは
リダイレクトできなかったりするが、NT系ならこれでOK。
704>ありがとう
うまく書き込めないなぁ2chブラウザorz
期待どうり動きました。
bin以下のGET.batが動いてるとは気づかずorz
bin以下に沢山のブツがありました。色々試してみます
IEXPLORE.EXE 文字列でURLとして見なして開くので
start IEXPLORE.EXE 文字列
↓
保存するパラメータ IEXPLORE.EXE 文字列
でIEに保存できるないかなとか考えてました。
IE保存そんな簡単な方法は無く
wshが必要なんですね。試してみようとした矢先でした
お手軽でいいですね。ありがとです
ところでWSHスレってどこいっちゃいましたかね?
Windows Scripting Host スレはPart3の途中でDAT落ちしたっぽいし
新たなスレも見当たらないし。
>>708 激しく感謝。
どうやら漏れはpc2鯖の残骸の中をを検索してたようです。
すいません。教えてください。
マイネットワーク(nethood)に登録されているディレクトリ(ショートカット)を
コマンドライン(ログスプ)から消したいんですがどうすればいいですか?
\\SERVERNAME\FOLDERNAMEへのリンクを消したい場合
DEL "%USERPROFILE%\NETHOOD\FOLDERNAME - SERVERNAME"
RD "%USERPROFILE%\NETHOOD\FOLDERNAME - SERVERNAME"
だめ
DEL "%USERPROFILE%\NETHOOD\FOLDERNAME*"/Q
RD "%USERPROFILE%\NETHOOD\FOLDERNAME*" /Q
だめ
DEL "%USERPROFILE%\NETHOOD\*"/Q
RD "%USERPROFILE%\NETHOOD\*" /Q
でもだめ _| ̄|○
for /d %d in ("%USERPROFILE%\NETHOOD\*") do rd /s /q "%d"
すごい。出来ました。forを勉強してきます。
即レスありがとうございました >711
すいません教えて頂きたいんですが、バッチファイルの中で
startでlnkを実行しているのですが
前の処理が終了してから次の処理を行わせたいのです。
単純に30秒待ってから処理を続ける等の設定でかまわないので教えて下さい。
Pauseで止めてしまうと処理も自動で終了しないので無理で
プロセスが走り出している物の終了を検出するのは難しそうだと
考え、指定時間の待ち時間を設定すればいいと考えたのですが
そういったコマンドや記述の仕方はあるのでしょうか?
start *.lnk
<処理待させてから次の処理させたい>
start *.lnk
・
>714
レスありがとうです。参考にします。
716 :
713:04/12/18 17:18:57 ID:grX5g94f
バッチファイル内で処理の間にsleepを挟んで実行してもその次の処理も実行し最後まで処理
実行してしまいます。
指定秒はsleep.exe 30 で30秒間プロントは開いてますが、バッチファイル内で
処理が30秒止まる処理にならないです。とゆうか全部実行してプロントが虚しく30秒後に次々落ちて
いきます。
プロセス見てると最後まで華麗にスルーして逝きました(鬱。。。
pauseで止まって30数えてキー押して次進むと同じ事になってないと意味無いですよね。
処理待ち出来てないですが本来のsleepコマンドは↑ですよね。こうゆうふうにバッチファイル内で
出来ないのでしょうか?sleep.vbsも同じ様子で処理が最後まで進みます。
w2kですがなんとか希望する処理にしたいのですが
無理なんでしょうか。
回避出来る方法があれば教えて下さると助かります。
717 :
713:04/12/18 17:51:43 ID:grX5g94f
すいません。出来ました。スレ汚しスマソ。
sleep.exeの方がいまいち使い方不明ですが(泣)
標準コマンドっぽく使いたい気はしますが
処理が被る事は>487の方法で回避できました。
719 :
717:04/12/18 19:25:32 ID:grX5g94f
>718
ありがトンです。
お尋ねしたいのですがATコマンドってACPIまでも支配下に置いて
休止(サスペンド ハイバネーション)状態からも復旧できるのでしょうか?
タスクスケジューラ相当の機能を備えて代換出来るのかな?なんて思ったのですが。
Cron NTなんかでもどうなのだろうかななんて疑問を抱いたのですが、
電源関係も制御して起動実行できるのでしょうか?
本体内蔵でタスクスケジューラ以外でATコマンドで出来たらと思いました
これはタスクスケジューラのそれとは違うのかなと認識していますが
教えて下さい。
AT コマンドは、指定された日時にコマンドとプログラムがコンピュータで
実行されるようにスケジュールします。AT コマンドを使用するには、
Schedule サービスが実行中でなければなりません。
さっぱりわからん
そういうことができるのかできないのか知らないが
Win板のコマンドラインスレでさらっと答えるレベルを超えている
atで指定できるスケジュール内容は、かなり限定的。
コマンドラインからスケジュール操作したい、という話なら、
XP以降ならschtasks、2000以前ならjt、ataskで。
724 :
720:04/12/19 23:30:21 ID:ZP1S9l9E
>723
ありがとうです。
windows内臓ので今までやってきたのですが
windows内臓だからACPIも支配下に置いてくれているのですが(w2kタスクスケジューラ)
起動終了時に頻繁に(エクスプローラ)シェルI再描写してくれるので(なぜかは謎ですが)
体感的に重く感じられるのです。
なので他のタスク管理ツールで管理
コマンドラインで出来たらいいなぁとは思っていました。
試してみます。
725 :
720:04/12/20 02:15:16 ID:2o4znDFV
723様の紹介して下さったソフト(atask)
windowsデフォルトの物のコマンドライン版なんですね。軽くて嬉しいです。
w2kでした。環境書かずにすみませんでした。
このスレにはお世話に成っているので
つまらない物置いてきます(どうでもいいネタ。知ってるし活用してる方もいるのかも知れませんが)
(jtとゆうのが見つけられずネットを彷徨っていると)こんなのあるんだって知りました。
ソフトで良くある時刻合わせなんですが、windows本体で自動で時刻を正確に
保つ方法なんですね。初めて知りました。net〜コマンドはw2k以降だった?
気がするのですが、時刻合わせ自動で出来ます。
---------------------------------------------------------------
■ [Tool]W2kでの時計合わせ(sntpサーバー設定のメモ)
W2kでは、標準でsntpサーバーにアクセスして時計を合わせる機能がつい
ている。その設定方法のメモ。 ここではsntpサーバーとして、
http://www.jst.mfeed.ad.jp/を使用する。
コマンドプロンプトで以下のコマンドを打つ
net time /setsntp:ntp1.jst.mfeed.ad.jp <--- <Server名>
管理ツール−サービスで、Windows Timeサービスのスタートアップの種
類を自動にし、開始ボタンを押す。
----------------------------------------------------------------
tclock でええやん。それとも複数のマシンを同期させるの?
サーバ群は標準時刻に合わせる事よりも
サーバ間の時刻同期の方が重要だからね。
俺漏れの設定。2000だけど。
C:\>net time /querysntp
現在の SNTP 値: time.windows.com,0x1
コマンドは正常に終了しました。
C:\>
>>725 jtの入手場所 :
ftp://ftp.microsoft.com/reskit/win2000/jt.zip お気づきのようですが、ATコマンドもataskもjtも、WindowsのTask Schedulerサービス(=windows内臓の)に
スケジュールを仕掛けるコマンドです。なので、どれでやっても、
>windows内臓だからACPIも支配下に置いてくれているのですが(w2kタスクスケジューラ)
>起動終了時に頻繁に(エクスプローラ)シェルI再描写してくれるので(なぜかは謎ですが)
>体感的に重く感じられるのです。
という問題の解決にはなりません。
>>726 逆に、NTP使える場所ならWindows Timeサービスでええやん、って希ガス。
730 :
720:04/12/26 01:29:28 ID:21/GplR8
>729様
説明が下手ですいませんでした。
実行時の負荷などで体感的に重く感じられるのではなくて
タスク画面の終了アイコンをクリック時頻繁に(エクスプローラ)シェル
再描写してくれる挙動
(終了アイコンをクリック時毎エクスプローラを落として再起動する様で)
>そのせいで体感的に重く感じられるので
コマンドライン版なら軽くなりました。
ありがとうございます。
コマンドラインからフォントをインストールしたり削除したりする方法ってある?
単純にCOPYとかDELじゃ反映されない(実体だけコピー/削除されるだけ)んで…。
>>731 Windows 98ではレジストリの下の場所を書き替えればいい。
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVaersion\Fonts
書式は自分でレジストリエディタから見て確かめろ。
確かNT系だとWindowsNTだったはずだからそこらへんうまく切り替えなきゃいけないと思う。
ちなみに絶対パスで指定すればフォント自体をFontsフォルダへコピーする必要はない。
@動画を4時間かけてエンコード
↓
A「エンコード正常終了」のメッセージの出てるスクリーンショットを、
時限スクリーンショット作成ツールで自動取得
↓
B自動シャットダウンツールでシャットダウン
↓
C寝ている間に全て終わってて(゚Д゚)ウマー
というふうにしたかったんだが、
Aの「スクリーンショット作成ツール」が起動たままだと、シャットダウンできないらしい。
(そのツールが起動中だと、スタートメニューからのシャットダウンすらできなかった)
だからAでスクリーンショットを自動取得が終わった後、
Bの前にその「スクリーンショット作成ツール」のプロセスを殺しておきたいんだが、
いいコマンドないかな?
XPにはtaskkillってコマンドがあるらしいのはググって知ったけど、
ウチはwin2000だからtaskkillないんだよね…
735 :
733:05/01/11 20:13:58 ID:9S7Yy0RJ
プロセス殺すくらいなら、強制シャットダウンできるツール使えばいいのに
「shutdown -r -t 0」だと終了しなかったりするのか?
初歩的ですが検索してもどうしても見つからなかったので質問します。
XPですが、コマンドプロンプトを起動させたら、最初に
「C:\Documents and Settings\Owner>」と出るのですが、
これを「C:」からで始めるにはどうすればよいでしょうか?
起動するたびに、いちいち「cd../../」で戻るのも面倒なので。
あと、VC++6.0のBATファイルの「C:\VCVARS32.BAT」を毎回
コマンドライン上で起動させておきたいのですが、その方法もできれば…。
AとBという二つの同名のファイルがあり、更新日付を比較して
Aの方が新しければBへ上書き、という処理を行い、上書きを行った
場合と行われなかった場合とで後続の処理を分けたいのですが
何か良い方法は無いでしょうか?
XCOPYの/Dオプションを考えていたのですが、戻り値がファイルコピー
してもしなくても0で返ってくるので、処理を分岐できなくて・・・
OSはNT4.0です。
xcopy /D の前後にfcでファイル比較し、戻り値を記録しておく。
コピー前が相違、コピー後が一致していればコピーしたことになる。
2000/XPならforでファイル日付を環境変数に記録できるので
簡単にできる。NT4だと無理だったはず。
742 :
738:05/01/24 18:10:07 ID:jYCW75+f
>>741 ありがとうございます。無事処理できました。
お手数でなければもう一つ教えて頂けるとありがたいのですが
コピー先のファイルと比較し、
コピー元の方の更新日付が新しければコピーし処理@へ
コピー元の方の更新日付が同じならばコピーせず処理終了
コピー元の方の更新日付が古ければコピーせず処理Aへ
という処理の場合、XCOPYだけでは処理しきれないでしょうか。
日付を取得しなければいけないとなると、DIRぐらいしか思い
つかないのですが、ここから日付部分のみを取得するには
どうしたらいいでしょうか。ご教授頂ければ幸いです。
>>741 バッチファイル内で以下のように記述すれば、NT4でも2000でもXPでも環境変数AUSERに
年月日を記録できる。
(例えば2005年1月27日に実行すれば、環境変数AUSERに"20050127"という値が記録される)
FOR /F "eol=; tokens=1,2,3 delims=/ " %%i IN ('DATE/T') DO @SET AUSER=%%i%%j%%k
これを応用すればNT4でも後者の方法が使えるのでは・・・と思ったが、かえって面倒くさいかな?
ECHOでテキストファイルにリダイレクトすると「>」と「<」が含まれている列が
ちゃんと出力できないのですが、どうしたらいいんでしょう?
echo ^<test^> > test.txt
>>746 ありがとうございます。できました。
それで今、IF文で分岐しようとして以下のような構文で
作成しているのですが、うまくSectionYに飛んでくれず
SectionXを実行してしまいます。
SET ERR=1
IF ERR==1 GOTO :SectionY
:SectionX
〜
:SectionY
〜
どこがおかしいんでしょうか?IFの使い方でしょうか?
すいません事故解決しました。
SET ERR=1
IF "%ERR%" == "1" GOTO Section1
としたら出来ました。おさわがせしました。
>>748 こちらもありがとうございます。
コロンいらないんですね。参考になります。
FINDで検索した文字をプロンプトに表示しない方法はありませんか?
存在した場合、存在しなかった場合のエラー判定のみを使いたいんです。
NULにリダイレクト
>>752 どうもありがとうございます。
凄いです。自分にはこんなの全然思いつきません・・・
バッチファイルの中でftp.exeを使った転送を行いたいんですが、
どうやってコマンドを与えればいいんでしょうか?
実行したいのはこんな感じです。
open ftp.hoge.com
cd foo/bar
binary
literal pasv
put c:\foo\bar\hoge.xxx
bye
すいません、ググりなおしたら一発で出てきましたorz
756 :
名無し~3.EXE:05/01/30 02:32:29 ID:1IwEOzk3
IF文で複数の条件を指定することってできますか?
たとえば A=B または、C=D のとき、E を実行したい場合は、
IF A=B E& GOTO END
IF C=D E& GOTO END
:END
と、今のところはしているのですが、これを1行にまとめられないものかと。
>756
俺ならこうするところだが・・・
IF NOT A=B IF NOT C=D GOTO END
E
:END
758 :
名無し~3.EXE:05/01/30 22:40:59 ID:rx3mobRm
Windowsのコマンドシェルは制御構文が貧弱すぎる。
構造化しにくいから長いバッチファイルを書くのがつらい。
caseとかwhileとかuntilを使えるようにしてほしい。
>>758 それをやり切るから楽しいのだ。真面目にやるならバッチファイルなんぞ使うな。
761 :
名無し~3.EXE:05/01/31 22:57:41 ID:SJGe5d5E
さっき間違って「route -f」を実行しちゃいました・・・
どこをどう間違ったのか自分でも激しく突っ込みたい気分ですorz
このせいで外部(192.168.1.1とかにはアクセスできる)につながらなくなってしまいました。
route -fで消える情報って何なんでしょうか? どこに保存されてるんでしょうか?
具体的な設定ファイルが書き換わったのなら、バックアップから復帰させることもできそうだけど・・・
正直routeもまだ勉強中だったんでよくわかってないんですが、どう設定すれば元に戻せるのかご教授ください。
特別に設定していたroute情報はありませんでした。
OSはXPです。
デフォルトゲートウェイの設定見直してみるべし。
DHCP使ってるならipconfig /renew
>>762 即レスありがとうございます。
早速やってみました。
そしてできました!!
直りました!!!
ほんとありがとうございます。
一時はどうなることかと思いました・・・
764 :
名無し~3.EXE:05/01/31 23:30:31 ID:+2ADC6D/
CD-Rクリーナーっていくらするんでしょうか?ネットに繋ぐCD-Rを入れてもエラーが出るんです(;_;)
テキストファイルからx行目の内容を抜き出したいのですが、何かいい方法はあるでしょうか?
Windows標準の方法では思いつかないけど、sedなら1行。
sed -e '5,5p' -e d < FILE
とか。
別に標準入力を経由する必要もなかった…まあいいか。
>>767 sedを使う方法は思いついたんですが、
他の環境でも使わなきゃいけないためにできれば避けたかったんです。
sedの利用も検討してみます。
よく見たら外部のソフトを使わずにって書いてなかったorz
ともかく、本当にありがとうございます。
多少問題あるけど。
@echo off
setlocal EnableDelayedExpansion
set X=5
set LINE=0
for /f "delims=" %%I in (DATA.TXT) do set /a LINE+=1 & if !LINE!==%X% echo %%I
endlocal
>>769 じゃあ、NT5以降限定でよかったらこういうのはどう?
コマンドライン1行では無理だった。
--- test.bat ---
@echo off
for /f "skip=%1 delims=" %%i in (%2) do @echo %%i & goto end
:end
--- sample usage ---
test.bat 5 SOME.TXT
(SOME.TXT の 5 行目が表示されると思う)
「他の環境」にWin9xとかNT4が含まれているなら、sed.exeを入れるのが簡単だと思うけど。
ファイル1個ですむし、レジストリとかいじるわけじゃないし。
773 :
772:05/02/01 20:14:59 ID:cqMU8vCV
ごめん、skipの指定を-1する必要があった。
ついでに空行が無視されるっぽいので、使い物にならないや。
>>771 さんのがよさそう。
774 :
771:05/02/01 20:26:23 ID:8+Ht+ZCi
いや、同じく空行は駄目なのよねw
バッチだとIF X = 1 かつ 2 または 3 みたいなことはできないんすかね?
>>775 @ECHO OFF
SET /P X="Xに代入したい数を入力してください "
IF NOT %X%==1 IF NOT %X%==2 IF NOT %X%==3 GOTO SHORI2
ECHO Xは1,2,3のいずれかです。
GOTO END
:SHORI2
ECHO Xは1でも2でも3でもありませんでした。
:END
PAUSE
X == ( 1 and 2 ) or 3かX == 1 and ( 2 or 3 )かは知らないけど、
Xが複数の値を持ってなきゃいけないんだもんなw
779 :
名無し~3.EXE:05/02/05 16:13:47 ID:l0+o/ozY
ファイルを一括コピーするのに
複製先と複製元に同名ファイルがある場合、
更新日付が新しいファイルだけをコピーする
batつくってちょ。
>780
テキストファイルに
xcopy コピー元ディレクトリ コピー先ディレクトリ /d
って書いて拡張子を.batにして実行したらドス窓に
コマンド文字列が延々と流れるだけでなにも動いてくれない・・
名前が悪い
名前が悪いかぁ。基本がわかってないなぁ。
コマンドを説明するサイトはいっぱいあったけど、よう
わからん。
>>783 ディレクトリパスを二重引用符で囲んでみそ
例)
xcopy "C:\Program Files\MSN" "D:\MSN\" /D
>>783 あ、待った。名前が悪いってのは
その「バッチファイルの名前」が悪いんじゃないか?
「xcopy.bat」みたいにコマンドを名前にするとそういう症状になるよ。
「うどん大好き.bat」でも何でもいいからコマンドとは違う名前にしてみそ。
今更だが>769へ
for /f "tokens=1,* delims=:" %a in ('findstr /n /r ".*" data.txt') do @if %a==5 echo.%b
ちなみに↓や
dir /b|for /f "tokens=1,* delims=:" %%a in ('findstr /n /r ".*"') do @IF "%%a"=="4" echo.%%b
↓のような使い方もできたのだが…
dir /b>tmp.txt
for /f "tokens=1,* delims=:" %%a in ('findstr /n /r ".*" tmp.txt') do @IF "%%a" LSS "4" echo.%%b
コレは何故か「"4"の使い方が間違ってる」というエラーが出てダメだった。
dir /b|for /f "tokens=1,* delims=:" %%a in ('findstr /n /r ".*"') do @IF "%%a" LSS "4" echo.%%b
789 :
名無し~3.EXE:05/02/09 21:51:41 ID:QC3V9Wlv
IF文で文字列の前方一致って判定できますか?
SET A=ABC
IF "%A%"=="AB*" 〜
みたいなことをしたいのですが。
素直に適当なスクリプト言語かUnix系シェルを使え
>>789 %A%を前から二文字分切ればいいんでない?
SET A=ABC
SET A=%A:~0,2%
IF "%A%"=="AB" 〜
質問です。
Unix の type コマンドみたいな、指定したコマンドの実際のパ
スが何か教えてくれるものは DOS コマンドにはありますでしょう
か…?
PATH 環境変数が長くなって、いったいどこのディレクトリにあ
るコマンドが実際に実行されているのか知りたい時がありまして…。
ここでAutoItのことを訊いていいですか?あるいはどこで訊けばいいですか??
AutoIt scriptで .cpl (コントロールパネル)を起動するにはどう書けばいいか知りたい。
セーフモードで起動して直接DOSでのファイルの消し方を教えて下さい。
回復コンソール使え
>>795 ありがとうございます!
組み込みとしては用意されてないんですね。
>>798 どーしても組み込みでやりたければ、
for %i in (notepad.exe) do echo %~$PATH:i
かなあ。
ファイルが見つからない場合は間抜けな結果になるけど。
連投スマソ。
for %i in (notepad.exe) do @if not "%~$PATH:i" == "" echo %~$PATH:i
でいいか。
801 :
名無し~3.EXE:05/02/10 14:14:31 ID:iKg/A2GK
コマンドの引数をダブルクォーテーションで括った場合の動作について教えてください。
Perlスクリプトを作成しcmd.exe上から実行しています。スクリプトにはディレクトリ名を
引数として渡します。ディレクトリ名が空白を含む場合は、当然
script.pl "c:\documents and settings\user"
のようにダブルクォーテーションで括ってやる必要があります。
この時、ディレクトリ名の末尾に\が付いていると、2つ目の"がエスケープされて
c:\documents and settings\user"
という文字列が渡されてしまい、正しく処理できません。
更に、その後に引数が続く場合には、次の"が出て来るか入力の終わりまでが
1つ目の"の範囲と見なされるので、例えば
script.pl "c:\documents and settings\user\" file.txt
このように実行すると、スクリプト側では
c:\documents and settings\user" file.txt
の全体を1つの引数として受け取ってしまいます。
何か回避策はないでしょうか。
"c:\documents and settings\user\\"
いぁ、かなり適当w
%~s1を使い""で囲まない
というか、script.plを書き換えた方が良くないか
それで合ってると思う。
コマンドラインと言うよりPerlの仕様だね。
805 :
801:05/02/11 05:46:09 ID:LtRZmWV5
ありがとうございます。えっと・・・
「%~s1を使う」ってどういう意味でしょうか?
コマンドプロンプトというかバッチファイルの仕様。
~を使うと引数が""で括られていた場合にそれが外されるのよ。
詳しくはコマンドリファレンスに載ってるからそっち見れ。
でも>801を見る限りscript.plに渡す引数のことらしいから
>802でやるかscript.plを書き換えなきゃ駄目だと思う。
すいません。MS-DOSのサイズ形式が最大になったまま元に戻りません。
方法はないでしょうか?
すいません自己解決しました。
>>800 ありがとうございます。結局はコマンドの組み合わせが必要なんですね。
でも目視で PATH 環境変数とにらめっこするよりずっと確実です。助かりました。
810 :
馬鹿です:05/02/17 16:32:15 ID:B557dDSA
「C:」から「C:\Program Files」に入りたいのですが、
cd Program Filesとやると、「Too many prameters」というエラーが出ます。
cd "Program Filesとやると「Format not correct」というエラーが出ます。
さて、どうしたものでしょう?
811 :
810:05/02/17 16:33:21 ID:B557dDSA
訂正
>cd "Program Filesとやると「Format not correct」というエラーが出ます。
cd "Program Files"とやると「Format not correct」というエラーが出ます。
812 :
810:05/02/17 16:35:14 ID:B557dDSA
OSはXP(英語版)です
813 :
810:05/02/17 16:36:42 ID:B557dDSA
あ、progra~1で出来ました。
「なんで810ちゃんはcommand.com使うん?」
815 :
810:05/02/17 16:44:41 ID:B557dDSA
command.comて何ですか?
command.com=Command?
816 :
810:05/02/17 16:48:02 ID:B557dDSA
質問が2つあります
・ところで、「progra~1」以外の記述方法はないのですか?
・例えば、「Program Filessss」というディレクトリに移動したい場合は、「progra~2」でしょうか?
>>815 cmd.exeでならcd "Program Files"で出来るはずだが、
command.comならcd "Program Files"はだめだと814は言いたかったのだろう。
cmd.exe なら cd Program Files でも行ける。
てかウチ(Win2k)では出来てる。
xpでもオケだな...
9x の command.com なら cd ... も使えて最強だけどね
ヘルプにもちゃんと書いてあるね<cdは囲まなくてもいける
C:\>cd /?
現在のディレクトリを変更したり、ディレクトリ名を変更したりします。
(中略)
CHDIR コマンドは空白を区切り文字として扱わなくなるため、空白文字を
含むサブディレクトリ名を引用符で囲まなくても、そのサブディレクトリ
に CD できるようになります。たとえば、
cd \winnt\profiles\username\programs\start menu
は、次と同じです:
cd "\winnt\profiles\username\programs\start menu"
拡張機能が無効である場合は、こちらを入力します。
>>821 XPだとだめだね
cd "program fi*"
とか
cd progra*
とか
cd pro*
とか
cd p*
とか
cmd.exeなら補完機能使えよ。
825 :
810:05/02/18 11:19:20 ID:YUaBrsIT
みなさんありがとうございます
cmd.exeで試したら、「cd Program Files」で出来ました。
cmd.exeとcomman.comの違いを今知ったしだいです。お恥ずかしい。
コマン・コム?
なんかエロいな。
エロサイトっぽい。
828 :
810:05/02/18 19:21:50 ID:YUaBrsIT
831 :
名無し~3.EXE:05/02/20 19:45:47 ID:QgGE5q0B
引数としてaaa\bbbと入力した場合、
aaa/bbbと出力させるにはどのようにしたらいいでしょうか?
\を/に置換させたいのですが。。
@echo off
set cmdline=%1
echo %cmdline:\=/%
うわ、てきとう
>831
set hoge=%1
set hoge=%hoge:\=/%
つか set /? 見れ。
834 :
名無し~3.EXE:05/02/20 20:25:48 ID:QgGE5q0B
すいません。ありがとうございました。
835 :
名無し~3.EXE:05/02/22 11:18:15 ID:6LszeGmC
findstrで日本語を使う方法を教えてください
%検索対象パス%のファイルから「abcd」または「efg」を拾うなら、
findstr /s "abcd efg" %検索対象パス%
でできるけど
「あいう」 または 「えお」を拾いたいのだが、
findstr /s "あいう えお" %検索対象パス%
では、「あいう えお」
しか拾ってくれないようです。
どうしたら良いか教えてください
>>835 /c: を複数使えばいいんじゃないの?
CLSコマンドってなんだ?
CLear Screen
839 :
名無し~3.EXE:05/02/24 13:15:20 ID:E7ttyB4P
>>836 結局、日本語は正規表現に対応していないと言うことみたい
でも835は正規表現の話じゃないじゃん。
842 :
名無し~3.EXE:05/02/24 22:23:18 ID:E7ttyB4P
既出かもしれないが
Windows2000
for 文に日本語を入れるとうまくいかない件
C:\> for /f "tokens=1,2 delims=\" %A in ('echo test\987654321') do echo %A___%B
test___987654321
C:\> for /f "tokens=1,2 delims=\" %A in ('echo 一二三\987654321') do echo %A___%B
一二三四___98765
C:\> for /f "tokens=1,2 delims=\" %A in ('echo 一二三四五\987654321') do echo %A___%B
一二三四五___9876
これを回避する方法ありますか?
とりあえず、処理したい文字列を一旦ファイルに出力して、typeしてますが、とても釈然としない
例
echo 一二三四五\987654321>temp.txt
for /f ・・・・ ('type temp.txt')・・・
8年くらい前にそんなもんだと諦めてそれっきり。
844 :
:05/02/28 18:49:00 ID:mgvhZrbo
WIN98 系ですが、
for でループしながら、ファイル名を変更させていくやり多々がWIN2kと
ぜんぜん違っていてわかりません
具体的にいいますと、
FOR /L %%I IN (1,1,5) Do (
copy c:\send\0.txt c:\receive\%%I.txt )
をWIN 98 をWIN98のバッチファイルとして実行したいのですが、
手段をお教えください
>>844 FOR %%I IN (1 2 3 4 5) Do copy c:\send\0.txt c:\receive\%%I.txt
846 :
844:05/02/28 20:39:19 ID:mgvhZrbo
>>845様
ありがとうございます
これ、間の(1 2 3 4 5) が1から1000までとかになったら
べた書きするしかないのでしょうか?
@echo off
if "%1"=="GOSUB" goto SUB
set ME=%0
set RES=
:LOOP
set NUM=%1
if "%NUM%"=="" set NUM=0
call %ME% GOSUB INC %NUM% 0 1 2 3 4 5 6 7 8 9 0
set RES=%RES% %NUM%
if not "%NUM%"=="0" goto FIN
shift
goto LOOP
:FIN
shift
if "%1"=="" goto END
set RES=%RES% %1
goto FIN
:END
call %ME% GOSUB CAT %RES%
set ME=
goto EOF
:SUB
shift
for %%I in (INC CAT) do if "%1"=="%%I" goto SUB_%%I
goto EOF
:SUB_INC
shift
set NUM=%1
:LOOP_INC
shift
if "%2"=="" goto EOF
if not "%NUM%"=="%1" goto LOOP_INC
set NUM=%2
goto EOF
:SUB_CAT
set NUM=
:LOOP_CAT
shift
if "%1"=="" goto EOF
set NUM=%1%NUM%
goto LOOP_CAT
:EOF
んで、inc.bat の使用例
1〜100までカウントする。
@echo off
set RES=0
:LOOP
call inc %RES%
echo Count = %NUM%
if "%NUM%"=="100" goto END
goto LOOP
:END
set RES=
set NUM=
こんなアホな方法しか思いつかんよ・・・
1.txt〜10000.txtを作るバッチファイル。
for /l %%A in (0, 1, 9999) do touch C:\hoge\%%A.txt
touchのところは適当に読みかえて。
ん?Win9xのforで(0,1,9999)って指定が出来ないから>848-850なんでないの?
853 :
844:05/03/03 10:20:14 ID:FU9M6v/y
>>847-852 方々 本当にありがとうございました。
どうやら、WINBAT32 っていうツールを使えば非常に簡単に
2000系のバッチが使えるようです
>>851さんのは、まさに
>>852さんのおっしゃられたとおり、3桁指定しても、
変数の更新がなされないところに問題があったのです
>>848-850さんの方法も、ちょっと時間があったら試してみます
ありがとうございました
「find "あああ" "D:\Test\*.log"」を実行すると・・・・
---------- D:\TEST\001.LOG
あああ
ああああああああああああああああああああああああい
・・・・・みたく
、実行結果に「---------- D:\TEST\001.LOG」ってのが表示されてしまいます。
この「---------- D:\TEST\001.LOG」を表示させたくないのですが、
よい方法はないでしょうか???
よろしくお願いします・・・。
>>854 for %s in (d:\test\*.log) do @type %s | find "あああ"
>>855 っっ!
コマンドライン初心者なもんで全然出来なくて困ってました。
有り難う御座います!!
857 :
rcp:05/03/06 21:20:07 ID:J5weOM1O
今更rcp.exeを使ってファイルをUnixサーバーにコピーしたいのですが
ドライブを指定するとホスト名と間違えられてコピーできません
rcp c:\test.txt unix:/tmp
とかすると
c: 不明なホストです
と出てきてしまいます。どなたかドライブを指定するrcp.exeの起動方法
わかる方おりませんでしょうか
rcp uses the colon (:) to separate the host name and path name which can create problems
when you want to specify local file names which contain a colon following a drive letter.
To specify such local file names on a rcp command line, use an equal sign (=) in place of the colon and prefix the name with a slash.
For example, you would specify the local file c:/testfile as /c=/testfile.
859 :
rcp:05/03/06 21:31:15 ID:J5weOM1O
(゜д゜)アラヤダ!
ずっと前に似たような事で使ってたけど忘れちゃった。/じゃダメなんだっけ?
rcp前にカレントフォルダ移動してパスの記述変えて使ってた気もする。
862 :
rcp:05/03/07 00:33:22 ID:OeifC13q
>>816 ありがとうございます。
/とかいろいろと試行錯誤したのですがだめでした。
結局rcp前にドライブを移動し、
rcp \test.txtみたいな方法で逃げてしまいました。
subst か pushd/popd と組み合わせてバッチ組んでおいてはどうだろうか。
c:\hoge\hoge.txtからファイル名を取り除いて
c\hoge\を取り出したいのですが、方法がわかりません。
setかなと考えたものの先に進みません。
よろしくお願いします。
866 :
864:05/03/07 07:32:21 ID:fSXZ7rvu
<865さん
すみません。なんてかんたんなことがみえなくなっていたんだろ。
お手数をおかけしました。ありがとうございます。
バッチコマンドで、あるファイルのショットカットを作成することって可能ですか?
もし可能なら、方法を教えていただけると嬉しいです。
WinXPです。
なにそれかっこいい
ぐはっ!ショートカットっす…
mkdir shotcut
バッチプログラムを作成しています。
変数%Iに数字以外の項目が入っていたら
エラーエンドさせるようなチェック項目を追加したいのですが、
上手くコマンドを作成出来ません。。
findstr /R [0-9]*
とか
for ??? in (%%I) do ?????
みたいなコマンドを上手く使えばのでしょうが、
知恵と経験が足りなくうまくいかないです・・・・。
誰かお力添えを!!!
お願いいたします。
>871
∀`)ノ echo (変数)|for /f %a in ('findstr /R "[^0-9]"') do if not "%a"=="" (処理)
873 :
名無し~3.EXE:05/03/08 08:27:35 ID:lPkf5BGo
>>872 パイプの扱いに不慣れなので教えて欲しいのですが、
先のechoが出力した結果は、for 文のどこに行くのですか
874 :
867:05/03/08 19:59:05 ID:gdZVEB8v
どうやら、バッチでショートカットを作る方法はないようですね。
失礼しました。
質問です。
バッチファイルでpauseが止まらずに先に進んでしまうのですが何故でしょうか?
同じバッチを別のPCで実行させた場合ちゃんと止まります。
OSはXPです。
プロンプトからpause打ってみたらどうなる?
バッチにpauseのみ記したのを実行するとどうなる?
877 :
871:05/03/09 00:45:59 ID:KUEuVu8j
>>872 ありがとうございました。
助かりました。
>>875 そのpauseはif文の中にあったりしません?
ifの条件に合わず、その処理が流れてなかったり、
ifの構文自体がエラーだったりしてませんか?
878 :
875:05/03/09 20:39:35 ID:ZSuVwTmj
>>876 アドバイスありがとうございました。
どうやら途中の全角文字が悪さをしていたようです。
漢字を外したら上手く動きました。
それぞれのPCで動きが違うのは謎ですが・・・
879 :
名無し~3.EXE:05/03/12 11:11:02 ID:zCliqIwg
XPで文字の色、背景の色をコマンドを使って変えたいのですが、どうしたらいいですか
echo ^[[31mがだめぽです
command.comにansi.sysを組み込めばXPでもエスケープシーケンスが使える。
cmd.exeはエスケープシーケンスは使えないがcolorという内部コマンドがある。
881 :
879:05/03/12 12:54:30 ID:zCliqIwg
>>880 ありがとうごさいます
colorっていう便利なコマンドがあるんですね
エスケープシーケンス使いたいのでできれば、
その組み込む方法を教えて頂けないでしょうか
882 :
879:05/03/12 12:57:18 ID:zCliqIwg
883 :
879:05/03/12 13:27:01 ID:zCliqIwg
これでできると思ったのですが
できませんでした。
XPでは、エスケープシーケンスは使えないんでしょうか
普段Win98使ってるのだが、別のマシンのWinXP上でバッチ的にmp3のエンコードを
やろうとしていてファイル名処理をしなきゃならないからwshでも使ってみるか、
と思ったらcmd.exeってwin98のcommand.comからかなり拡張されてるんだね。
このスレを流し見てかなりのことが出来そうなのがわかったよ。
だが、細かい処理をするのにはかなり試行錯誤がいりそう・・・
NT系では16bitプログラムしかエスケープシーケンスは使えない。
887 :
名無し~3.EXE:05/03/13 09:19:19 ID:ekyBgtcO
wowexec
\x1b[1;31m
32bitでもエスケープシーケンスが反映される分、
Linuxのコンソールのほうが優秀だぞヽ(`Д´)ノウワァァン
\x1b[m
【質問】
WIN2000でSHUTDOWNを解除するコマンドがあるか。あるなら知りたい。
【調べた事】
・XPでは、SHUTDOWNのコマンドは使用できるが、2000ではコマンド自体がない。
・巷にあるツールでは、2000の環境でも、その辺のコントロールをするツールがある。
(ただし、そのツールでキックしたSHUTDOWNに対して解除効果のみ)
【なぜ知りたいか】
SYSTEMが不安定で、最近SHUTDOWNのカウントダウンが急にはじまる。
データ保存する前に落ちるってのは百歩譲って仕様がないとしても
サービスパック等のUPDATE中は非常にむかつく。
(カーネルいじってる最中に落とされると、起動しなくなし、鬱)
そこで、カウントダウン中に回避する方法を調べたいと。。。
> 最近SHUTDOWNのカウントダウンが急にはじまる
これってまさか……
892 :
889:05/03/17 01:32:46 ID:vsspT97T
>>891 可能性大です…。
WINDOWSを再インストール後、裸同然のPCにも関わらず、回線繋いででセキュリティパッチを
あてようとしたので。その際に運悪く感染したのかもしれません。
症状も私の状況にマッチしているように思います。
明日詳細に確認・対応をしていきたいと思います。
ありがとうございました。
しかし、今頃MSブラストにやられるとは不覚…
原因究明しないで一時的な回避策を探そうとしたことの方が不覚だってことに気付け。
shutdown /A で止まったような木が駿河。
指定時刻にmplayerc.exe(MediaPlayerClassic)で特定の動画を再生したいです。
cronNT(
http://www.vector.co.jp/soft/winnt/util/se232096.html)
を使用して、
指定時刻に以下のbatファイルを実行しますが、再生されません(batは実行されているようなのですが)
-----以下batファイル-----
C:\mplayer.exe "test.mpeg"
-----以上batファイル-----
同内容を手動で実行した場合は再生されるのですが、
どのようにしたら、自動で再生することが可能でしょうか?
お答え頂ければ幸いです。
test.mpegをフルパスにすれば?
とりあえずタスクスケジューラからは問題なく再生できた
ATOKのバックアップ取りたいんですが
Cドライブ内だと
@echo off
cd %APPDATA%\Justsystem\Atok14
xcopy *.* F:\backup\atok\ /D /Y
pause
これで出来るんですがほかのドライブでこれを実行すると(フォルダはC:\〜と直接指定してます)
'C:\Documents' は、内部コマンドまたは外部コマンド、
操作可能なプログラムまたはバッチ ファイルとして認識されていません。
と出てバックアップ取れません。どこを変更したらいいのでしょうか?
cd /d %APPDATA%~~~
cd /d "C:\Documents and Settings\~~~"
899 :
889:05/03/18 05:34:09 ID:PaLwTRqA
>>894 SHUTDOWN /A はXPのみ使用可能なコマンドなので、できなかったです。
あと、原因はブラストではなかったみたいです
>>895 バックグラウンドで動いてて表示されてないだけじゃねの?
findstr で直前のパターン?を任意の回数繰り返しを指定することってできる?
BREGEXP.DLL を使った正規表現でいう {n} みたいな。
findstr に使えるメタ文字は次のとおりです。
. ワイルドカード:任意の文字
* 繰り返し:直前の文字またはクラスのゼロ個以上
^ 行位置:行頭
$ 行位置:行末
[class] 文字クラス:セットの任意の 1 文字
[^class] 逆クラス:セット以外の任意の 1 文字
[x-y] 範囲:指定した範囲の任意の文字
\x エスケープ:メタ文字 x のリテラル使用
\<xyz 単語位置:単語の先頭
xyz\> 単語位置:単語の終わり
いちおヘルプくらいは読んだ上で聞いたんだけど。無理なのね。
905 :
名無し~3.EXE:2005/03/29(火) 14:25:56 ID:WyKgjPwd
こんにちは。↓のコマンドラインで hoge:~0,1!" の 1 の部分で
プログラムを止めて、1ではなく任意の数字を入力できるようにすることは
できるでしょうか?(なるべくなら2回止めずに、1回数字を指定したら
後のhoge:~0,1!"のところで1回目の数字を自動で獲得してくれるといいです。)
@echo off
setlocal enabledelayedexpansion
(%~d1) && (cd %1)
for %%a in (*) do (
Set hoge=%%~na
MD "%%~dpa!hoge:~0,1!"
MOVE %%a "%%~dpa!hoge:~0,1!"
)
D&Dしたフォルダ内のファイルをファイル名に従ってフォルダに振り分ける
コマンドのようですが、参照する先頭のファイルの文字数を指定したいのです。
よろしくお願いします。
>>905 @echo off
setlocal enabledelayedexpansion
cd /d %~dp1
set /p hage=文字数は?
for %%a in (*) do (
Set hoge=%%~na
MD "%%~dpa!hoge:~0,%hage%!"
MOVE %%a "%%~dpa!hoge:~0,%hage%!"
)
907 :
905:2005/03/29(火) 19:58:16 ID:rs9Nb7/M
>>906 ありがとうございます。
でも、コマンドの挙動が少し変わってしまったようでつ。
D&Dしたフォルダの中身のファイルを振り分ける挙動だったのですが、
D&Dしたフォルダがあるフォルダのファイルを振り分けるようになって
しまったようです...。(´_`。)グスン
すいませんが、D&Dしたフォルダの中のファイルを振り分けるように
もう一度お願いしますです。
908 :
905:2005/03/29(火) 20:43:13 ID:rs9Nb7/M
3行目を元に戻したらできました。
>>906さん大変ありがとうございました。m(_ _)m
909 :
1/2:Windows暦21/04/02(土) 14:25:27 ID:kQdexS6c
ftpについて質問です。
ttp://www.atmarkit.co.jp/fwin2k/win2ktips/270ftpscript/ftpscript.html をお手本にWSHで自動的にアップロードするスクリプトを書いたのですが、
FTPでサーバとのコネクトはとれるのですが、
アップロードの時にタイムアウトになるまで止まってしまいます。
例:ftp -s:test.txt
-- test.txtの内容 --
open <サーバホスト>
<ユーザ名>
<パス>
cd adir/bdir
ascii
put "C:\a.txt"
quit
-- コマンド実行時のプロンプト --
ftp> open <サーバホスト>
Connected to <サーバホスト>.
220 <サーバ名> FTP server ready
User (<サーバホスト>:(none)):
331 Password required for <ユーザ名>.
230 User <ユーザ名> logged in.
ftp> cd adir/bdir
250 CWD command successful.
ftp> ascii
200 Type set to A
ftp> put "C:\a.txt" // ここでタイムアウトになるまで待たされてるっぽい(1分くらい止まる)
Connection closed by remote host.
ftp> quit
910 :
2/2:Windows暦21/04/02(土) 14:25:41 ID:kQdexS6c
当方の環境はWinXPProSP2で、
Windowsのファイアーウォールを有効にしています。
ファイアーウォールを無効にすると問題なくアップロード(put)できるのですが、
有効にしてこのコマンドで使われているプログラムの%SYSTEM%ftp.exeのブロックを解除しても
同じように途中で止まります。
ブロックする時にポップアップで警告するようにしても、
「このプログラムをブロックし続けますか?」
のダイアログで出てくるプログラムはftp.exeだけです。
自分だけが使うのならその度ファイアーウォールを無効にしたりすれば良いのですが、
仕事で配布する予定のものなので、できれば一回だけの設定などで簡単に回避したいのですが・・。
ちょっとスレ違いっぽくて申し訳ないのですが、
よろしくお願いします。
911 :
名無し~3.EXE:Windows暦21年,2005/04/02(土) 15:32:44 ID:E9iJoLBH
CD(DVD)ドライブのドライブレターを取得する方法ってありますかね?
ログを読んでもちょっと理解できなかったので。。。
>912
WSH使ってドライブA〜Zのドライブ種別を調べるのが最も手っ取り早いかも。