[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 2chのread.cgiへ]
Update time : 05/09 18:00 / Filesize : 163 KB / Number-of Response : 800
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

【.cmd】 バッチファイルスクリプト %4 【.bat】



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

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

◆◆ご注意◆◆
Windows板の「初心者〜管理者まで必読!コマンドライン(DOS Pt.*)」スレや
PC初心者板のURLを貼りたがる人は、削除人にも認定された荒しですので
その人に指示に従う必要はありません。

◇前スレ
【.cmd】 バッチファイルスクリプト %3 【.bat】
pc11.2ch.net/test/read.cgi/tech/1217860043/
※関連スレは>>2あたり

686 名前:デフォルトの名無しさん mailto:sage [2009/04/10(金) 13:57:49 ]
>>684
Console重すぎ。まだckwの方がいい

687 名前:デフォルトの名無しさん mailto:sage [2009/04/10(金) 14:37:45 ]
JISもだめだから3バイトや地域は関係ないんじゃないか

688 名前:デフォルトの名無しさん mailto:sage [2009/04/10(金) 15:05:40 ]
シェルだけやってもだめ moreとかどうする

689 名前:デフォルトの名無しさん mailto:sage [2009/04/10(金) 16:18:51 ]
バッチファイルで例えば
echo ™©®
はどうすればいい?


690 名前:671 mailto:sage [2009/04/10(金) 21:03:07 ]
>>671 を自分で作ってみました。
ソースコード
ja.pastebin.ca/1387923

自分のとこは java のサーバ アプリ(コンソール アプリ)が
utf-8 で動作してるんですが
コイツを使えば表示だけは文字バケしなくなりました。
誰かの役に立つかな・・・

691 名前:デフォルトの名無しさん mailto:sage [2009/04/10(金) 22:09:01 ]
>>690
MSゴシック
chcp 65001

692 名前:デフォルトの名無しさん mailto:sage [2009/04/10(金) 22:53:36 ]
悪意のあるソフトウェアを検出

693 名前:デフォルトの名無しさん mailto:sage [2009/04/11(土) 01:46:59 ]
>>691
過去ログ読んでよ。それができくらいなら苦労しないよ。

694 名前:デフォルトの名無しさん mailto:sage [2009/04/11(土) 02:21:41 ]
表示だけなら>>691でできるだろ
できないのはファイル入力だろ



695 名前:デフォルトの名無しさん mailto:sage [2009/04/11(土) 03:00:14 ]
たしかに google で検索すると chcp 65001 を使うやり方がたくさんヒットするから
おそらくソレを鵜呑みにしてコピペしただけだろうが、
実際に *自分* で試してみたのか? >>691

696 名前:デフォルトの名無しさん mailto:sage [2009/04/11(土) 10:53:12 ]
>>691は絶対に自分で試してないw

697 名前:デフォルトの名無しさん mailto:sage [2009/04/11(土) 17:20:22 ]
すいません質問させてください。
既出だったらすいません

C:\Documents and Settings\Adiministrator\デスクトップ
という文字列から、"\"をカウントして変数に出力するスクリプトを作成したいのですが
コマンドプロンプトのみ使用する場合、どのようなスクリプトを作成すれば良いのでしょうか。

基礎的な質問ですが宜しくお願いします。

698 名前:デフォルトの名無しさん mailto:sage [2009/04/11(土) 17:39:41 ]
CALL :UNKO "C:\Documents and Settings\Adiministrator\デスクトップ"
ECHO %A%個
GOTO :EOF

:UNKO
SET X=%~1
SET A=0
:UNKO_1
IF "%X:~0,1%"=="\" SET /A A=%A%+1
SET X=%X:~1%
IF NOT "%X%"=="" GOTO :UNKO_1
EXIT /B


699 名前:デフォルトの名無しさん mailto:sage [2009/04/11(土) 18:00:07 ]
ありがとうございました

700 名前:デフォルトの名無しさん mailto:sage [2009/04/11(土) 18:40:44 ]
UNKOでる〜〜〜〜

がまんできない〜〜〜〜〜〜

UNKO

701 名前:デフォルトの名無しさん mailto:sage [2009/04/11(土) 18:53:25 ]
SET /A A=%A%+1

右辺の % 要らない

702 名前:デフォルトの名無しさん mailto:sage [2009/04/11(土) 18:53:58 ]
gimpo.2ch.net/test/read.cgi/toilet/1237925539/

703 名前:デフォルトの名無しさん mailto:sage [2009/04/11(土) 18:54:39 ]
      人
     (__)
    (__)
    (´‘ω‘ `)   UNKOうんこっこ
   /   つ
   (_(__⌒)  |^lヽ、
  ┌●(_)─┘.| )   ブリブリ

704 名前:デフォルトの名無しさん mailto:sage [2009/04/11(土) 20:00:24 ]
SET /A A=%A%+1

右辺の A 要らない

SET /A A+=1





705 名前:デフォルトの名無しさん mailto:sage [2009/04/11(土) 20:12:01 ]
>>898
どんくさ

706 名前:デフォルトの名無しさん mailto:sage [2009/04/11(土) 20:20:59 ]
>>699
chcp 1252
echo echo ™©® >hoge.cmd

hoge.cmd

707 名前:デフォルトの名無しさん mailto:sage [2009/04/11(土) 20:22:38 ]
>>689

708 名前:デフォルトの名無しさん mailto:sage [2009/04/11(土) 20:50:02 ]
うんこ臭

709 名前:デフォルトの名無しさん mailto:sage [2009/04/11(土) 20:53:34 ]
>>706
echo ™©®야후
ならどうする?

710 名前:デフォルトの名無しさん mailto:sage [2009/04/11(土) 20:55:12 ]
twu ?

711 名前:デフォルトの名無しさん mailto:sage [2009/04/11(土) 20:57:30 ]
なんか最近基地外が棲みついたようだな…


712 名前:デフォルトの名無しさん mailto:sage [2009/04/12(日) 02:17:40 ]
>>698
%X:*\=%

713 名前:デフォルトの名無しさん mailto:sage [2009/04/12(日) 02:40:28 ]
だったら最初からそう書けばいいじゃん!
後だしジャンケンに勝っても自慢にならんぞ!

714 名前:デフォルトの名無しさん mailto:sage [2009/04/12(日) 02:42:45 ]
可哀相な子



715 名前:デフォルトの名無しさん mailto:sage [2009/04/12(日) 17:16:55 ]
>>683
unicodeなら>>25


716 名前:デフォルトの名無しさん mailto:sage [2009/04/12(日) 18:40:06 ]
powershellならunicodeでもutf-8で書ける

717 名前:デフォルトの名無しさん mailto:sage [2009/04/12(日) 19:01:21 ]
指定フォルダ内の更新日時が一番新しいファイルを開くには
どうすればよいでしょうか?

718 名前:デフォルトの名無しさん mailto:sage [2009/04/12(日) 19:04:22 ]
過去ログ読んでよ。

719 名前:デフォルトの名無しさん mailto:sage [2009/04/12(日) 19:06:02 ]
分からないならレスしないでください

720 名前:デフォルトの名無しさん mailto:sage [2009/04/12(日) 19:08:26 ]
すでに答えは出ている。

721 名前:デフォルトの名無しさん mailto:sage [2009/04/12(日) 20:58:01 ]
>>716
よくわからんが、powershell用のターミナルはUTF-8表示できるの?

722 名前:デフォルトの名無しさん mailto:sage [2009/04/12(日) 21:29:55 ]
cmd.exe用のターミナルはUTF-8表示できるのに。

723 名前:デフォルトの名無しさん mailto:sage [2009/04/12(日) 21:39:31 ]
それぐらい試せよ

724 名前:デフォルトの名無しさん mailto:sage [2009/04/12(日) 21:41:22 ]
>>709
hoge.ps1

echo ™©®야후




725 名前:デフォルトの名無しさん mailto:sage [2009/04/12(日) 22:42:48 ]
分からないならレスしないでください

726 名前:デフォルトの名無しさん mailto:sage [2009/04/12(日) 23:29:50 ]
>>718
探しましたがわかりませんでした・・・。
申し訳ないですが、教えてくださいm(_ _)m

727 名前:デフォルトの名無しさん mailto:sage [2009/04/13(月) 00:39:00 ]
たかが Powershell ごときのために
過去のソフトウエア資産をすべて捨てるわけにはいかない。
こんなの、マイクロスフトのせんずりshellやんけ。

728 名前:デフォルトの名無しさん mailto:sage [2009/04/13(月) 00:48:44 ]
お客のシステムでPSが使えるのはいつ頃からだろうか・・・


729 名前:デフォルトの名無しさん mailto:sage [2009/04/13(月) 01:00:52 ]
cd /d 指定フォルダ
for /f %%i in ('dir /o-d') do (
start "" "%%~fi"
goto :break
)
:break


730 名前:デフォルトの名無しさん mailto:sage [2009/04/13(月) 01:10:38 ]
dir /b

731 名前:デフォルトの名無しさん mailto:sage [2009/04/13(月) 01:19:18 ]
cd /d 指定フォルダ
for /f %%i in ('dir /b /od') do set x="%%~fi"
start "" %x%



732 名前:デフォルトの名無しさん mailto:sage [2009/04/13(月) 01:52:35 ]
pushd

733 名前:デフォルトの名無しさん mailto:sage [2009/04/13(月) 02:31:35 ]
なるほど
ありがとうございます。
ファイル名にスペースを含んでいた場合どう対応させればよいのでしょう?

734 名前:デフォルトの名無しさん mailto:sage [2009/04/13(月) 09:46:27 ]
くくってあるだろ



735 名前:デフォルトの名無しさん mailto:sage [2009/04/13(月) 19:16:48 ]
>>721
MSゴシック
chcp 65001
PowerShell



736 名前:デフォルトの名無しさん mailto:sage [2009/04/13(月) 19:35:54 ]
なんか最近基地外が棲みついたようだな…

737 名前:デフォルトの名無しさん [2009/04/15(水) 11:15:16 ]
c:\gazou(画像を入れているフォルダ)に移動してそこのファイル・フォルダ一覧を取得したいです
image.txtとpath.txtに分け、path.txtに画像を入れているフォルダ名を入れ、
image.txtからpath.txtを読み込み、フォルダに移動して一覧を表示させたいのですが
image.txtのcdを実行した時にc:\%imagedir%に変数にセットした値が反映されず、c:\となってしまいます
変数に格納したフォルダ名を利用して、cdを実行した時にc:\gazouに移したいのですがどなたかご教示お願い致します

【path.txt】
set imagedir = gazou

【image.txt】
call path.txt
cd c:\%imagedir%
dir
PAUSE

738 名前:デフォルトの名無しさん mailto:sage [2009/04/15(水) 12:14:43 ]
なんだよ.txtって素直に.batにしろ
cmdって.bat, .cmdしか処理しなかったんじゃないか

739 名前:737 mailto:sage [2009/04/15(水) 13:14:06 ]
すみません、.txtのところは.batの記述ミスです
恐れ入りますが.batとして読み替えていただけると助かります

訂正
image.txt→image.bat
path.txt→path.bat

740 名前:デフォルトの名無しさん mailto:sage [2009/04/15(水) 13:55:34 ]
@echo off
set imagedir = gazou
echo "%imagedir%"
echo "%imagedir %"

741 名前:737 [2009/04/15(水) 14:46:37 ]
>>740
ありがとうございます
"%imagedir %"という風に記述したら画面に変数が表示されたのですが
cd "%imagedir %"としてみたんですが半角英数が入ってしまってcdが実行できませんでした
cd "%imagedir%"では変数が表示されません
たいへん恐縮でございますが何卒ご指導お願い致します

742 名前:デフォルトの名無しさん mailto:sage [2009/04/15(水) 16:54:26 ]
半角英数?
set imagedir = gazou

743 名前:デフォルトの名無しさん mailto:sage [2009/04/15(水) 17:00:31 ]
echo "%imagedir : =%"


744 名前:デフォルトの名無しさん mailto:sage [2009/04/15(水) 19:14:43 ]
>>741
まだわかんねーのかい・・・

set imagedir = gazou

これの意味するところは変数「imagedir 」(最後にスペース)に「 gazou」(最初にスペース)を入れるということ。
決して「imagedir」に「gazou」を入れるという意味ではない。
後者は

set imagedir=gazou

だから。



745 名前:デフォルトの名無しさん mailto:sage [2009/04/15(水) 19:57:21 ]
>>744
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaそういうことだったんですね!!!!!!!
ありがとうございました解決です!

746 名前:デフォルトの名無しさん mailto:sage [2009/04/15(水) 21:06:14 ]
c:\ahou(阿呆を入れているフォルダ)に移動してそこのファイル・フォルダ一覧を取得したいです
image.txtとpath.txtに分け、path.txtに画像を入れているフォルダ名を入れ、
image.txtからpath.txtを読み込み、フォルダに移動して一覧を表示させたいのですが
image.txtのcdを実行した時にc:\%imagedir%に変数にセットした値が反映されず、c:\となってしまいます
変数に格納したフォルダ名を利用して、cdを実行した時にc:\ahouに移したいのですがどなたかご教示お願い致します


747 名前:737 mailto:sage [2009/04/15(水) 21:20:11 ]
念のため書きますが746さんと私は別人ですので

748 名前:デフォルトの名無しさん mailto:sage [2009/04/15(水) 21:32:34 ]
Uzzzzzzzzzzzzzzzzzzzeeeeeeeeeeeeeeeeeeeeeeeeeeeaaaaaaaaaaaaaaそういうことだったんですね!!!!!!!

749 名前:デフォルトの名無しさん mailto:sage [2009/04/15(水) 21:34:47 ]
ero画像を入れているフォルダ

750 名前:デフォルトの名無しさん mailto:sage [2009/04/15(水) 21:35:47 ]
ずばり!!!

751 名前:デフォルトの名無しさん mailto:sage [2009/04/15(水) 21:46:05 ]
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaそういうことだったんですね!!!!!!!
ありがとうございました正解です!

752 名前:737 mailto:sage [2009/04/15(水) 22:00:32 ]
なんで絡まれるのかわかりません^^;

753 名前:デフォルトの名無しさん mailto:sage [2009/04/16(木) 01:16:55 ]
= の両側に空白を入れるあたり、Cやjavaなどの
C系言語脳炎に侵された最近の若者っぽいですね。
Cなどの難しいことは良く知ってるのに、
バッチファイルなどの簡単な事は知らない。
教育が偏りすぎなんです。
もっと教育現場を見直す必要がありますね。

754 名前:デフォルトの名無しさん mailto:sage [2009/04/16(木) 04:05:41 ]
Java が C系言語?

???



755 名前:デフォルトの名無しさん mailto:sage [2009/04/16(木) 04:26:59 ]
VBAもC系言語?

756 名前:デフォルトの名無しさん mailto:sage [2009/04/16(木) 09:01:49 ]
Fortranだって空白入れるだろ。

「C系言語」とか意味不明だわ。

757 名前:デフォルトの名無しさん mailto:sage [2009/04/16(木) 11:27:17 ]
ALGOL系

758 名前:デフォルトの名無しさん mailto:sage [2009/04/16(木) 12:11:55 ]
>>756
それは後期になってC言語に影響されはじめてからのことだろ。
FORTRANで空白なんて入れてたらカードが何枚あっても足りない。

759 名前:デフォルトの名無しさん mailto:sage [2009/04/16(木) 12:43:04 ]
dosって結局2002年からバージョンアップされてないわけだろ
何がいいわけ?

760 名前:デフォルトの名無しさん mailto:sage [2009/04/16(木) 13:07:12 ]
ここdosのスレじゃないぜ

761 名前:デフォルトの名無しさん mailto:sage [2009/04/16(木) 13:09:45 ]
バッチファイルってdosコマンド使うんじゃないの?

762 名前:デフォルトの名無しさん mailto:sage [2009/04/16(木) 16:38:56 ]
うましかじゃないの?


763 名前:デフォルトの名無しさん mailto:sage [2009/04/16(木) 17:35:40 ]
分からないならレスしないでください

764 名前:デフォルトの名無しさん [2009/04/17(金) 00:16:11 ]
通りすがりが学生の時に作ったバッチを晒してみる。
*.classを*.javaにするバッチ…
使い方は読めば分かる人には分かるだろうが
classフォルダとjavaフォルダを作って
classフォルダに*.classファイルとjad.exe(探せば拾える。googleさんにでも聞いてくれ)
を置く
後はその↑の階層から実行すればOK
rname.batは消すか何とかしてくれあれを晒すのは、ちょっと…^^;
ほしい人がいたら上げて見るが、
多大なバッシングを受けそうな気が(これを上げる地点で受けそうな気もするが)…

cd class
jad.exe *.class
jad.exe *$*.class
for %%i in (*.jad) do native2ascii.exe -reverse %%i %%i.java
cd ..
call rname.bat // rname.batは*.jad.javaとなっているのを.javaにする
copy /y *.java ..\java
del *.jad
del *.java

てか、こんな処理もっと簡単にできるだろうにorz

長文失礼

追記
 // ←これ使えたっけ?



765 名前:デフォルトの名無しさん [2009/04/17(金) 00:50:20 ]
すみません。拡張子".Z"を解凍できる外部コマンドを教えてください
expend?は無理でした
よろしくお願いします

766 名前:デフォルトの名無しさん mailto:sage [2009/04/17(金) 02:20:58 ]
uncompress

767 名前:デフォルトの名無しさん mailto:sage [2009/04/17(金) 02:38:22 ]
icomp

768 名前:デフォルトの名無しさん mailto:sage [2009/04/17(金) 10:05:01 ]
>>765
7zip

769 名前:デフォルトの名無しさん mailto:sage [2009/04/18(土) 02:45:40 ]
現在のプロセス数をタスクトレイに表示
そんなバッチファイルください

770 名前:デフォルトの名無しさん mailto:sage [2009/04/18(土) 02:50:42 ]
title `ps -efW | wc -l`

みたいなことやればよし
titleに情報表示って何気に便利なんだよな

771 名前:デフォルトの名無しさん mailto:sage [2009/04/18(土) 10:39:48 ]
バッチで、ps -eなんて使えるの?

772 名前:デフォルトの名無しさん mailto:sage [2009/04/18(土) 10:51:21 ]
知ったかぶりは無視してください

773 名前:デフォルトの名無しさん mailto:sage [2009/04/18(土) 16:08:14 ]
Windowsで、ps -eなんて使えるの?
バッチ で、` ` なんて使えるの?


774 名前:デフォルトの名無しさん mailto:sage [2009/04/18(土) 17:17:04 ]
powershellもどうせならbashコマンドに似せて作ってくれたらよかったのに



775 名前:デフォルトの名無しさん mailto:sage [2009/04/18(土) 17:19:22 ]
なるほど

776 名前:デフォルトの名無しさん mailto:sage [2009/04/19(日) 03:50:20 ]
知ったかぶりは無視してください

777 名前:デフォルトの名無しさん mailto:sage [2009/04/19(日) 03:53:26 ]
なるほど

778 名前:デフォルトの名無しさん mailto:sage [2009/04/19(日) 04:15:08 ]
tasklist/nh|find /c /v ""|(set /p x=& call title %x%)

779 名前:デフォルトの名無しさん mailto:sage [2009/04/19(日) 10:50:31 ]
titleコマンドはいつからタスクトレイに表示するコマンドになったんだ?


780 名前:デフォルトの名無しさん mailto:sage [2009/04/19(日) 10:53:24 ]
無理
の一言で済ませて欲しいならそっちでも構わないよ

781 名前:デフォルトの名無しさん mailto:sage [2009/04/19(日) 16:24:46 ]
なるほど

782 名前:デフォルトの名無しさん mailto:sage [2009/04/19(日) 23:47:43 ]
start /min cmd /k "tasklist/nh|find /c /v ""|(set /p x=& call title %x%)"

783 名前:デフォルトの名無しさん mailto:sage [2009/04/20(月) 00:34:17 ]
なるほど

784 名前:デフォルトの名無しさん [2009/04/20(月) 21:47:03 ]
ご助言お願いします。
特定のディレクトリに、longfilename日付.txtというファイルが
いくつかあります。※状況によってファイル数が変わる

(例)
longfilename20090417.txt
longfilename20090419.txt
longfilename20090420.txt

これらのファイルの中身の"aaa"という文字列を"bbb"に変換したいのですが
どのようにすれば良いでしょうか

以下のように書きましたが、うまくいきませんでした。

dir *.txt > tmp.txt
type tmp.txt | find "txt" > tmp1.txt
for /f "tokens=4" %%a in (tmp1.txt) do echo %%a >> tmp2.txt
for /f %%a in (tmp2.txt) do sed -e 's/aaa/bbb/g' %%a > %%a

問題点としては、
・Sed LOGOS版2.42が、ロングファイルネームのファイルを使えないっぽい
・4行目のfor文の記述では繰り返し処理が無理?

使用しているsedは、Sed LOGOS版2.42というものです。
よろしくお願いします。




785 名前:デフォルトの名無しさん mailto:sage [2009/04/20(月) 22:02:47 ]
>>764
自意識過剰すぎる
本当は今も学生なんじゃないか?

786 名前:デフォルトの名無しさん mailto:sage [2009/04/20(月) 22:39:19 ]
>>784
Sed LOGOS版2.42がどういう仕様かは知らないけど、
いくつかDOS/Win用sed使った経験からいうと、
sedの引数は '〜' じゃなく "〜" で括らないと
意図どおりにならない気がする。

それから、

> for /f %%a in (tmp2.txt) do sed -e 's/aaa/bbb/g' %%a > %%a

入力ファイルと出力ファイルが同じだと
うまくリダイレクトできないんじゃなかったっけ?

あと、実際のファイル名が分からないから念のため触れておくと、

> for /f "tokens=4" %%a in (tmp1.txt) do echo %%a >> tmp2.txt

もしもファイル名に空白を含む可能性があるなら、
これだと空白でファイル名が途切れる。

for /f %%a in ('dir /b *.txt') do type "%%~a"

みたいにすると、きれいにファイル名だけ取り出せるはず。






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<163KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef