コマンドプロンプト
cygwin?なにそれ?美味しいの? 真の漢ならコマンドプロンプト一本で勝負だ! cl /Gs /Od /Zd test.c /link /map /li title %~0 date /t time /t DOS窓なんて言葉聞くと今でも心がウキウキしちゃうよね DOSバンザイDOSバンザイDOSバンザイDOSバンザイ eventvwr.msc ←イベントビューア起動 gpedit.msc ←ローカルグループポリシーエディター起動 taskschd.msc ←タスクスケジューラ起動 choice /? ←Windows95/98/Me/7では別売リソースキットから別途choice.exeを展開しなくても標準で使える。 コマンドプロンプトじゃなくてMS-DOSプロンプトにしようぜ 32ビット版最強 勘弁してくれ。「MS-DOSプロンプト」だと、95/98/Me以外のWindowsは全部ダメとか言う輩が出てきて振り回されちまう。 WINDOWS3.0だとDOSプロンプトだった psr ←Windows7用の問題ステップ記録ツール devicehigh=c:\windows\EMM386.EXE ram /I=B000-B7FF /I=E000-EFFF /I=F000-F2FF DOS窓を使いたいために32bit版7を使ってる俺がいる プリンタのプロパティはrundll32からprintui.dll,printuientry /pで出せるけど フォルダとかファイルのプロパティってどう打てば出ますか Windows7でassocとftypeを使い、ファイルの関連付け全情報をファイルにバックアップし 勝手に関連付けを書き換えるアプリなどをインストール後 それを元に戻す ということを コマンドプロンプトでやりたいです 理想を言えばBatファイルを作りたいのですがどのように書けばいいのでしょうか? プログラムを学んでいないのでよくわかりません よろしくお願いします 本当にしょーもない質問でしょーもなく悪いんだけど、バッチファイルで cd /d って書くところを path って書いたらなんか動作に違い出る? cmd.exeだけで、環境変数%PATH%の文字列の何文字目かは分からないけれども、 C:\WINDOWSの直後に新しい値を追加したい、というような操作は出来ますか? ていうか ; 区切りでの列挙すらできなくて頭かかえてます。。 PATHだけ扱いが特殊でハマったことがあったようななかったような。 バッチスレから誘導されてきました。 質問です。 ドメインに参加した端末で、everyoneにローカルの管理者権限を付けたいのですが、コマンドではどのように書くのでしょう? やりたいことをGUIで説明すると、compmgmt.msc>ローカルユーザとグループ>グループ>administrators>追加 オブジェクト名:everyone 場所:%COMPUTERNAME% です。 試したこと↓(どちらもダメでした。) net localgroup "administrators" "localhost\everyone" /add net localgroup "administrators" "%COMPUTERNAME%\everyone" /add よろしくお願いします。 以下のようなことをしたいのですがいい方法はありますか? X ^ Y & Z という文字列の入った変数の内容を別の変数にコピーしたい set A=X ^^ Y ^& Z set B=%A% set C="%A%" 普通に代入しようとすると特殊文字が機能して ^ が消えたり & のせいでエラーが発生します。 クオートを付けるとクオートまで変数に代入されてしまいます。 >>42 thx そんな括り方が出来るんだ 色々検索したけど一度も見かけなかった 勉強になりました >>11 有名な自爆コマンドじゃないか 釣りでもマズいと思う… これってネットから入手できるの? できるかできないかだけ教えて 事前に入力していた文字列を検索して該当行と該当行の1行前を探して 表示するバッチファイルつくりたいんだけどやり方がまったくわかりません。 該当行だけならfindstrで表示できると思うんですけど該当行の前の行を表 示するって方法がわかりません。 全て自動でやりたいのですが、どなたかヒントだけでもいただけませんか。 findstr /N で該当行の行番号を取得。 そこから1引けば1行前の行番号。 あとは for で指定した行を取得できる。 外部プログラムも使用できるなら、SEDを使う手もあるけど。 >>49 コマンドプロンプトとメモ帳しか使えない環境で全て自動で行いたかったのですが、目的のものが作れました。 ありがとうございました。 コマンドプロンプトでアンダースコア("_")って特殊な文字だっけ? echo a\_b | findstr /c:"a\_b" だと何も返さなくて、 echo a\_b | findstr /c:"a\\_b" だとちゃんとa\_bが返ってくるけど \_でエスケープしてるってこと? _ に限らず # でも @ でも + でも = でも同じ挙動になるね。 >>51 アンダースコアではなくバックスラッシュが コマンドプロンプトではなく、findstrにとって特殊な文字 だからダブルクォートも検索できる あ、でもダブルクォートもcmdにとって特殊ではあるか 面倒なとこだな… いや>>51 はアンダースコアと普通の英数字で検索結果が違うことを指摘してるんじゃないの。 echo a\_b | findstr /c:"a\_b" echo a\_b | findstr /c:"a\\_b" echo a\zb | findstr /c:"a\zb" echo a\zb | findstr /c:"a\\zb" >>55 アンスコ関係ないって>>53 で言ってるじゃんよ。 正規表現扱えるツールなら 英数: 普通に書くと確実に見たままの文字、バックスラッシュでは特殊な場合がある 記号: 普通に書くと特殊な場合がある、バックスラッシュで確実に見たままの文字 ってのは割と普通の仕様じゃね? ただ正規表現でないときでもその結果だから…findstrの詳細な仕様ないかな @ECHO OFF TITLE Windows終了メニュー簡易版 ("%~f0") for Windows7 Pro COLOR 0F ECHO ■■ No ■■ 処理内容 ■■ ECHO ■ 0: 終了 ECHO ■ 1: Windows電源断 ECHO ■ 2: Windows再起動 ECHO ■■■■■■■■■■■■■ CHOICE /C:012 /m ◆処理Noを選んでね IF ERRORLEVEL 3 IF NOT ERRORLEVEL 4 SHUTDOWN /r /f /t 0 IF ERRORLEVEL 2 IF NOT ERRORLEVEL 3 SHUTDOWN /s /f /t 0 IF ERRORLEVEL 1 IF NOT ERRORLEVEL 2 EXIT コマンドプロンプトのことで聞きたいことがあるんだけどこのスレでいいの? 50台ばっかりパソコンがあるんだけど、一気に電源入れるとデマンド値がどうたらで怒られちゃうんで、2分おきとか3分おきくらいにWOLでパソコンを起動していきたいわけよ。 MACアドレス指定でコマンドプロンプトでWOLする方法はわかったんだけども、起動させる順番をランダムにすることはできないかね? 俺の頭では無理だ %RANDOM% - 0 から 32767 の間の任意の 10 進数に展開します。 らしいから後は考えてくれ VBSやPowerShellなら大して難しくないけどね デマンド値がどうたらでもよく分からんが、ランダムにする必要性もよくわからんな。 法人様の電気代は、電力需要が最も高い時間(これがデマンド値)を基準にして基本料金が変動するのです (家庭用はブレーカーが落ちる代わりに基本料金も固定化されている) >>60 randomはわかるんだけど、ここからどう応用していいかがわからん cmd使いたいのは、特になんのアプリ入れなくても全てのwindowsで使えるからなんだよね とりあえずLIST用意してMACアドレスぶちこんで、そっからランダムに選んでくれるのがベストなんだが… >>61 たしかにランダムにしたいのは必要性というより俺の趣味だな 毎回同じ順番で起動するのはつまらんという理由から >>62 一昨年あたりは、デマンド値にかなりうるさくて、始業の時にエアコン1台づつ、10分おきに起動させないとダメとか、かなりめんどかった >>59 起動する順番をランダムに列挙したテキストファイルを 10通り用意して、 日付の1桁で選択して、 forでそのテキストを読んだら? >>63 VBScriptやJScriptなら 現在サポート中のWindowsにはたぶん標準で入ってるように思えるけど cscript.exeとか入ってないのかな ちょっとどうしたらいいかわからないの質問させてください EACというCDリップソフトで任意のフォルダにWAVファイルとそのファイル軍のM3uを作ります フォルダがアルバムごとに複数あります EACの掃き出しフォルダ以下のサブフォルダのWAVファイルに対して lameとTTAでエンコしたいのです。 mp3はwavファイルがあるフォルダにエンコ TTAはTTAフォルダをアルバムフォルダに作り そこにエンコというのを一気にしたいのです そしてm3uファイルの中の.wavという記述を .mp3にかえる。TTAフォルダにもそのm3uをコピーしてまた拡張子を.ttaにかえたいのです 最後にエンコ終わったWAVファイルは全て任意のフォルダにまとめて移動する 移動確認後 手動BATでそのフォルダのWAVファイルを全削除という処理もしたいです 今はこんな個別のバッチを手動で行い 移動したりしています ttaenc -e *.wav E:\ @echo off REM Lameのフルパス set LamePath="E:\lame.exe" REM Lameのコマンド set LameCMD=-b 128 cd /d g:\ for %%a in (*.wav) do %LamePath% %LameCMD% "%%~a" "%%~na.mp3" exit 処理が複雑だと思うのですがよろしければ教示いただけませんでしょうか お願いします 何したいかよく判らないから、やりたいことコマンドで書いてくれるかな。 >>68 それができないので苦労しています・・ 伝わらないならあきらめて 知恵袋とかできいてみることにします・・ 無念です 知恵袋に行ったところで、その日本語じゃそれなりの答えしか返ってこなさそうだが…まあ、行くならどうぞ 管理者として実行したcmd.exeからバッチファイルへのlnkファイルを実行した場合に、lnkファイルのプロパティ/ショートカット/詳細設定の「管理者として実行」のチェックの有無によって動作に違いがあるのですが、どういう理由なのでしょうか? [ファイル] ・バッチファイル : c:\hoge.bat 中身は@echo %1一行のみ ・lnkファイル : hoge.lnk リンク先はc:\hoge.batのみ指定 [実行したコマンド] hoge.lnk "c:\a a" [実行結果] ・管理者として実行するがOFF "c:\a a" ・管理者として実行するがON ファイル名、ディレクトリ名、またはボリューム ラベルの構文が間違っています。 ※ 引数をダブルクォートで囲まなければONの時もバッチファイルは実行されます。 ONでもOFFの時の様に動作させる事は可能でしょうか? よろしくお願いします。 Win7Sp1 Pro 動作が違う理由とその対策を知りたいので、何故lnkファイルを使うのかやlnkファイルを使わないで〜と言った書き込みは望んでいません。 lnkの挙動なんぞ知らん スレチだ win7質問スレに池ks >>74 勉強になりました。本当にありがとうございます。 csvdeでメンバーのデータをツリー状に出力する方法ってありませんか? クリップボード内の文字列を出力するコマンドは何でしょうか? テキストをクリップボードに送るのはclip.exeがあるが、クリップボード から取るのは標準では無いね Cygwin入れれば cat /dev/clipboard とかできるけど mshta "javascript:close(new ActiveXObject('Scripting.FileSystemOject').GetStandardStream(1).Write(clipboardData.getData('Text')));"|find /v "" find: invalid predicate `' おーそうか、vbsって手があったか という事で無理矢理ワンライナーにしてみた(ちゃんと貼れるか分からんが) echo WScript.Echo(Trim(CreateObject("htmlfile").ParentWindow.ClipboardData.GetData("text")))>"%TEMP%\tmp.vbs" && cscript //nologo "%TEMP%\tmp.vbs" && del "%TEMP%\tmp.vbs" ウィルススキャンによってはTEMPからのvbs実行を許さずエラーになったり何も起きないとか なるかもしれない 一時ファイル作らずにスクリプト実行できればいいんだが、まだ別の方法があるかな? フリーのクリップボード系のアプリを探せばいいんじゃね? コマンドラインからクリップボードを読み書き http://www.vector.co.jp/soft/win95/util/se417150.html 標準機能のみで実現するってなら思いつかない・・・ パソコンがいっぱいあるんだけど、DHCPサーバーってやつが無いらしく、リストアすると手動で1台づつIPを入力しないと動いてくれないんだよね。 サブネットマスクとDNSサーバーは固定なんだけど、IPは1番のパソコンから順番にふっていかないといけないんだけど、どうすればいいかな? netsh interface ip set address "ローカル エリア接続" static 192.168.254.51 255.255.255.0 192.168.254.1 1 な感じで設定できるらしいんだけど、何台もあるのを台数ぶんバッチファイルを作るのもスマートでないので、 バッチファイルを開く→端末番号を入れてください→ で入力すると、IPを設定してくれるようにしたい。 ちなみに、1番のIPの末番が.51、2番が.52、10番が.60・・・ て感じになってる。 悪いこと言わないからルーター買っとけ 家庭用の安物なら3000円くらいで買えるだろ >>84 @echo off setlocal set interface_name=ローカル エリア接続 set address_class4=50 set subnetmask=255.255.255.0 set gateway=192.168.254.1 :execute set /p terminalnum=端末番号を入れてください= set /a address_class4+=%terminalnum% if %address_class4% gtr 255 (echo error ^>=255) else ( netsh interface ip set address "%interface_name%" static 192.168.254.%address_class4% %subnetmask% %gateway% 1) endlocal >>85 よくわかんないけど、セキュリティ上の理由で使っちゃダメらしいです〜 >>86 ありがと〜 欲しい機能がバッチリそろってました!! ここから派生もイケそうです >>58 @ECHO OFF TITLE Windows終了メニュー簡易版 ("%~f0") for Windows7 Pro COLOR 0F ECHO ■■ No ■■ 処理内容 ■■ ECHO ■ 0: 終了 ECHO ■ 1: Windows電源断 ECHO ■ 2: Windows再起動 ECHO ■ 3: 待機3分でモニタの電源を消す設定に変更 ECHO ■ 4: モニタの電源を消さない設定に変更 ECHO ■■■■■■■■■■■■■ CHOICE /C:01234 /m ◆処理Noを選んでね IF ERRORLEVEL 5 IF NOT ERRORLEVEL 6 powercfg.exe -change -monitor-timeout-ac 0 IF ERRORLEVEL 4 IF NOT ERRORLEVEL 5 powercfg.exe -change -monitor-timeout-ac 3 IF ERRORLEVEL 3 IF NOT ERRORLEVEL 4 SHUTDOWN /r /f /t 0 IF ERRORLEVEL 2 IF NOT ERRORLEVEL 3 SHUTDOWN /s /f /t 0 IF ERRORLEVEL 1 IF NOT ERRORLEVEL 2 EXIT Linuxで以下の様なawkを走らせるシェルスクリプトを使っていたのですが、 #!/bin/bash awk '/hoge/{ print "hoge" } END{ print "END" }' inputfile これをWindowsのバッチスクリプトに移植したいと思います。 ただ、バッチスクリプトではシングルクオート「'」が使えないため、 ダブルクオート「"」が入れ子状になっているとエスケープ処理が必要になるようです。 また、コマンドが複数行に渡る場合は行末に「^」が必要のようです。 そこで↓のようにやってみましたが、駄目でした。何かうまい方法はないでしょうか? awk "/hoge/{ ^ print \"hoge\" ^ } ^ END{ ^ print \"END\" ^ }" inputfile 次のdiskpartコマンドを1つのbatファイルだけで実行する方法なんかない? diskpart <dpcmdfile.txt ではダメです -------------------------------------- select disk 1 clean create partition primary format quick fs=ntfs assign active こうかな awk ^"/hoge/{ ^ print ^"hoge^" ^ } ^ END{ ^ print ^"END^" ^ }^" inputfile 俺はawk埋め込みシェルスクリプトのバッチファイルへの移植だったら、awkコードを外部ファイルへ分離するかな いまさらだが、バッチファイルとコマンドラインでエスケープの仕様が違うのがアツいぜ。。 コマンドプロンプトのしょぼさって今考えると驚異的だよな てか、いつまでWindowsに残ってんだろ さすがに次期Windowsではなくなってる・・・わけねーか MACやUbuntuユーザが端末開く感覚で使えたらなぁ・・・ ん?Powershell? PowerShellはPowerShellで考え方を根本的に変えなきゃダメだから MacやLinuxのユーザが端末開く感覚で使うのは無理だと思う コマンドプロンプトって毎回同じコマンド打ち込まないと動いてくれないの? vbaみたいにショートカット作れたりはしないの? >>98 >毎回同じコマンド打ち込まないと動いてくれないの? >>1 >真の漢ならコマンドプロンプト一本で勝負だ! スレ的にバッチファイルは邪道のようですよ いや、>>41 ,58,67,86,90-93のようにバッチファイルも大歓迎 read.cgi ver 07.5.1 2024/04/28 Walang Kapalit ★ | Donguri System Team 5ちゃんねる