[表示 : 全て 最新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あたり

643 名前:デフォルトの名無しさん mailto:sage [2009/04/05(日) 02:27:19 ]
たしかに無限ループしそうだな。じゃ改良・・・

CALL :UNKO "C:\Documents and Settings\aaa abc 123.txt"
GOTO :EOF

:UNKO
SET A=%~n1
SET B=
:01
IF "%A%"=="" GOTO :02
SET B=%B%%A:~0,1%
SET A=%A:~1%
IF NOT "%A:~0,1%"==" " GOTO :01
:02
SET B=%B%%~x1
RENAME %1 "%B%"
EXIT /B

>>642
そんなにいい方法があるんなら、具体的にコード書いてくれよ。

644 名前:デフォルトの名無しさん mailto:sage [2009/04/05(日) 12:04:12 ]
>>634のはマッチした場所を置換するだけだから

set A=C:\Documents and Settings\aaa abc 123.txt
set A=%A:* =hoge%
echo %A%

hogeand Settings\aaa abc 123.txt

ってなるだけじゃね?

set A=%A: *=hoge%

みたいな使いかたはできないし。

645 名前:デフォルトの名無しさん mailto:sage [2009/04/05(日) 12:11:14 ]
俺は空白チェックなんて面倒なことやらずにforを一発で抜けりゃいいんじゃないのかと思ったけど。

set A=C:\Documents and Settings\aaa abc 123.txt
for /F "delims= " %%i in ("%A%") do (
set B=%%i
goto aaa
)
:aaa
echo %B%


646 名前:デフォルトの名無しさん mailto:sage [2009/04/05(日) 13:05:11 ]
そんなメンドクセーならもういいよ

647 名前:デフォルトの名無しさん mailto:sage [2009/04/05(日) 15:30:43 ]
>>645はfor/fがわかってないみたい
goto aaaが必要か?

>>644
set A=!A:%A:* =%=!

648 名前:デフォルトの名無しさん mailto:sage [2009/04/05(日) 15:47:26 ]
>>647は原理だから応用しろよ(と書いとかないとな

649 名前:デフォルトの名無しさん mailto:sage [2009/04/05(日) 19:23:27 ]
なるほど

650 名前:デフォルトの名無しさん mailto:sage [2009/04/06(月) 23:04:39 ]
>>634
で?

651 名前:デフォルトの名無しさん mailto:sage [2009/04/06(月) 23:08:56 ]
>>642
>>634
そんなにいい方法があるんなら、具体的にコード書いてくれよ。



652 名前:デフォルトの名無しさん mailto:sage [2009/04/06(月) 23:11:14 ]
なるほどなるほど

653 名前:デフォルトの名無しさん mailto:sage [2009/04/07(火) 12:01:48 ]
chcp 65001の状態で、バッチファイルを動かす方法はないものでしょうか?
コマンドプロンプトでUTF-8使おうとすると不便でなりません。

>>34 読んでもいまいちわからんない…



654 名前:デフォルトの名無しさん mailto:sage [2009/04/07(火) 12:58:54 ]
それが物を聞く態度か?

655 名前:デフォルトの名無しさん mailto:sage [2009/04/07(火) 13:12:34 ]
そんなにいい方法があるんなら、具体的にコード書いてくれよ。


656 名前:デフォルトの名無しさん mailto:sage [2009/04/07(火) 16:03:42 ]
>>653
激しく同意!

わたくしからもお願いします。

657 名前:デフォルトの名無しさん mailto:sage [2009/04/07(火) 21:29:49 ]
なんか最近基地外が棲みついたようだな…

658 名前:デフォルトの名無しさん mailto:sage [2009/04/07(火) 21:31:00 ]
わからんない

659 名前:デフォルトの名無しさん mailto:sage [2009/04/07(火) 22:16:27 ]
分からないならレスしないでください

660 名前:デフォルトの名無しさん mailto:sage [2009/04/08(水) 01:49:29 ]
>>653ない

661 名前:デフォルトの名無しさん mailto:sage [2009/04/08(水) 02:03:49 ]
ないならレスしないでください




662 名前:デフォルトの名無しさん mailto:sage [2009/04/08(水) 02:14:11 ]
>わからんない
は「わからん」の否定だろ?

663 名前:デフォルトの名無しさん mailto:sage [2009/04/08(水) 16:33:54 ]
chcp 20932
chcp 50220
ができて
chcp 65001
ができない理由は何なんだ!

664 名前:デフォルトの名無しさん mailto:sage [2009/04/08(水) 17:20:47 ]
分からないならレスしないでください

665 名前:デフォルトの名無しさん mailto:sage [2009/04/08(水) 19:28:50 ]
コンソールが65001をまともにサポートしてないんですよ。

666 名前:デフォルトの名無しさん mailto:sage [2009/04/08(水) 22:07:46 ]
サポートしてない理由は何なんだ!

667 名前:デフォルトの名無しさん mailto:sage [2009/04/08(水) 22:15:54 ]
基地外が棲みついたようだな…

668 名前:デフォルトの名無しさん mailto:sage [2009/04/09(木) 00:50:10 ]
3バイト文字コードをサポートしてないんじゃなかろか

669 名前:デフォルトの名無しさん mailto:sage [2009/04/09(木) 01:04:47 ]
>>668
それもあるみたい。
あと、UTF-8がどこの地域と結びついていないというのも、
コードページから地域情報を引き出そうというおかしなプログラムに都合が悪いそうだ。
そんなことがOld New Thingに書いてあった。

670 名前:デフォルトの名無しさん mailto:sage [2009/04/09(木) 01:43:50 ]
コンソールでカーソル位置がずれるところを見ると、コンソールが悪いじゃね

671 名前:デフォルトの名無しさん mailto:sage [2009/04/09(木) 03:05:53 ]
ユニコードにしか無い文字を含むファイル名があっても
DIR コマンドで正しく表示されるんだよな。
ってことは、コンソールはユニコードが常時表示可能な状態なんだよな。
DIR コマンドはユニコード専用APIで文字を表示してるってことなのかな?
じゃぁたとえば、標準入力から utf8 文字を読み込んで、ユニコード専用APIで
表示するフィルターソフトがあればいいわけじゃん。
(UNIXで言えば「nkf」みたいな)
仮にそれを 「unko.exe」 だとすると、
C> utf8アプリ | unko.exe
ってやれば、正しく表示してくれることになる。
・・・で、unko.exe に該当するようなソフトって、どこかに無いですか?




672 名前:デフォルトの名無しさん mailto:sage [2009/04/09(木) 04:15:54 ]
分からないならレスしないでください

673 名前:デフォルトの名無しさん mailto:sage [2009/04/09(木) 10:50:00 ]
dir /S /B *.txt > list.txt

とすると、ファイルのフルパスがlist.txtに出力されますが。
出力されるパスの区切り文字を、\ から / に変えるにはどうすればいいでしょうか?
とりあえず現状はWSH使ってやってるんですが、コマンドプロンプトの標準コマンド
だけで出来る方法があればいいなというとこです。

674 名前:デフォルトの名無しさん mailto:sage [2009/04/09(木) 11:17:52 ]
ここはプログラムを作る人の板です
パソコンの使い方の質問はご遠慮ください。

質問の内容にあった板を利用しましょう。

PC初心者
pc11.2ch.net/pcqa/

Windows
pc12.2ch.net/win/

初心者~管理者まで必読!コマンドライン(DOS Pt.7)
pc12.2ch.net/test/read.cgi/win/1217738171/


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


676 名前:デフォルトの名無しさん mailto:sage [2009/04/09(木) 13:29:38 ]
>>671
これ?って全然違うか・・・
cocot - COde COnverter on Tty
vmi.jp/software/cygwin/cocot.html

677 名前:デフォルトの名無しさん mailto:sage [2009/04/09(木) 13:30:45 ]
そんなにいい方法があるんなら、具体的にコード書いてくれよ。

678 名前:デフォルトの名無しさん mailto:sage [2009/04/09(木) 15:57:47 ]
chcp 1200ができればよいのだがエラーになる。なぜだ!

679 名前:デフォルトの名無しさん mailto:sage [2009/04/09(木) 16:19:35 ]
utf-8版cmd.exe互換シェルを作れば?
ないのかね?

680 名前:デフォルトの名無しさん mailto:sage [2009/04/09(木) 16:40:41 ]
ckwとかどうよ

681 名前:デフォルトの名無しさん mailto:sage [2009/04/09(木) 17:55:45 ]
cygwinでckの方は使ってる。ckwはUTF-8はさすがに無理か・・・



682 名前:デフォルトの名無しさん mailto:sage [2009/04/09(木) 18:48:28 ]
パソコンの使い方の話は板違い

683 名前:デフォルトの名無しさん mailto:sage [2009/04/09(木) 18:56:11 ]
バッチファイルをunicodeやutf-8で書きたいのか
sjis範囲外の文字をかきたいのか、どっち?

684 名前:デフォルトの名無しさん mailto:sage [2009/04/09(木) 19:14:16 ]
ttp://mediakey.dk/~cc/windows-console-cmdexe-replacement/

685 名前:デフォルトの名無しさん mailto:sage [2009/04/10(金) 13:56:46 ]
いやでも実際、コマンドプロンプトでUTF-8扱う話題なんて、どこでしたらいいんだよw

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 : =%"







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

前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