12/03/04 01:33:17.02
>dir /b /on a.txt b.txt
a.txt
b.txt
>dir /b /o-n a.txt b.txt
b.txt
a.txt
699:デフォルトの名無しさん
12/03/04 01:34:32.16
>>698
確かに引数をソートしてるな
700:デフォルトの名無しさん
12/03/04 01:37:41.92
>dir /b /on a b
a.txt
b.txt
a.txt
b.txt
>dir /b /o-n a b
b.txt
a.txt
b.txt
a.txt
701:デフォルトの名無しさん
12/03/04 01:38:36.31
ディレクトリ単位にソートってことだろ?
702:デフォルトの名無しさん
12/03/04 10:23:07.77
>>689 俺もバッチ作ってみた
@echo off & cd /d "%~dp0"
del tmp1 tmp2 list.txt > nul 2>&1
(for %%i in (%*) do @echo "%%~dpi","%%~fi")| sort /o tmp1
set /a a=10000 & set b=""
for /f "delims=, tokens=1,2" %%i in (tmp1) do (
set c=%%i& set d=%%~aj& set e=%%j& call :x)
for /f "delims=, tokens=2" %%i in ('sort tmp2') do echo %%i>> list.txt
del tmp1 tmp2 & goto :eof
:x
if not %b% == %c% set b=%c%& set /a a+=1
if %d:~0,1% == d (set /a f=0) else set /a f=1
echo %a%%f%,%e:~0,-1%>> tmp2
703:デフォルトの名無しさん
12/03/04 15:41:04.60
うざ
704:デフォルトの名無しさん
12/03/04 16:17:47.60
>>689-690 はファイル名に%文字があると誤動作する
705:デフォルトの名無しさん
12/03/04 18:03:47.92
どの行?
706:デフォルトの名無しさん
12/03/04 18:07:01.85
あの行
707:デフォルトの名無しさん
12/03/04 18:09:41.44
たぶんcallの引数の%が化ける
708:デフォルトの名無しさん
12/03/04 19:27:26.60
引数渡しやめて環境変数渡しにすればよい
709:デフォルトの名無しさん
12/03/04 23:36:02.16
>>704
ファイル名の%ってどうやって環境変数記号でないと判断させればいいの?
ファイル名内の%の位置を調べて存在したら
^でエスケープするしかない?
710:デフォルトの名無しさん
12/03/04 23:38:42.64
%のエスケープは%%だよ
711:デフォルトの名無しさん
12/03/05 00:00:12.25
なんでお前らいまだにバッチファイル書いてるの?
712:デフォルトの名無しさん
12/03/05 00:12:58.43
バッチファイルは基本だよ
713:デフォルトの名無しさん
12/03/05 00:36:58.96
>>709
%%
714:デフォルトの名無しさん
12/03/05 00:42:23.44
for変数と混同するんじゃね
715:デフォルトの名無しさん
12/03/05 15:40:43.79
このバッチに名前が%文字を含むファイルをD&Dしてごらん
違いが分かるよ
@echo off
set a="%~nx1"
call :x %a%
call :x %%a%%
pause
goto :eof
:x
echo %1
716:デフォルトの名無しさん
12/03/05 23:46:11.91
setlocal enabledelayedexpansion
set a="%~nx1"
set a=!a:%%=%%%%!
echo %a%
call :x %a%
call :x %%a%%
pause
exit
:x
echo %1
717:デフォルトの名無しさん
12/03/05 23:48:22.26
@echo off
for %%i in (%*) do (set a=%%i& call :x %%a%%)
pause & goto :eof
:x
echo %1
718:デフォルトの名無しさん
12/03/05 23:49:44.92
^%
719:デフォルトの名無しさん
12/03/06 00:07:24.36
@echo off
for %%i in (%*) do set a=%%i& call :x
pause & goto :eof
:x
echo %a%
720:デフォルトの名無しさん
12/03/06 00:10:12.82
いつまでやってんだよカス
721:デフォルトの名無しさん
12/03/06 00:14:24.77
サンキューカッス
722:デフォルトの名無しさん
12/03/06 00:27:17.77
もっと面白いネタは無いのか
723:デフォルトの名無しさん
12/03/06 00:42:25.31
ない
724:デフォルトの名無しさん
12/03/06 01:06:38.12
とっく枯渇してるので、蒸し返しばっか
725:デフォルトの名無しさん
12/03/06 01:13:44.33
でもスレを覗くんですね
726:デフォルトの名無しさん
12/03/06 01:28:48.52
でもってなにがでもだ?
727:デフォルトの名無しさん
12/03/06 01:34:13.80
新しい知見を得るために覗いていたのか?
728:デフォルトの名無しさん
12/03/06 16:34:55.54
よほど無知なんだろ
729:デフォルトの名無しさん
12/03/06 17:10:05.33
スレ立てるまでもない質問スレで教えていただいたUNIXコマンドがあります
cat `find あるディレクトリ -name test.txt` > 一つのファイル
これはあるディレクトリ以下の全てのサブディレクトリを含めて、test.txtというファイルの内容を一つのファイルにまとめるコマンドです
Windowsでも同じようにやりたいのですが
copy ファイル1.txt+ファイル2.txt・・・・ marge.txt
といった感じに+でいちいち書いていくのが面倒なのでよい方法内でしょうか?
730:デフォルトの名無しさん
12/03/06 17:55:25.05
for /r ディレクトリ %i in (*) do type %i>>test.txt
731:デフォルトの名無しさん
12/03/06 18:14:10.14
まんまじゃねーか
732:デフォルトの名無しさん
12/03/06 18:18:00.13
え?なんかやる事とやってる事が違うくね?
733:デフォルトの名無しさん
12/03/06 18:30:45.73
こまけーことはいいんだよ!
734:デフォルトの名無しさん
12/03/06 22:36:25.51
>>730
試してみたんですが
> の使い方が誤ってます
ってエラーがでます
735:デフォルトの名無しさん
12/03/06 22:53:00.85
試す前に、なにやってるかくらい読めよ
736:デフォルトの名無しさん
12/03/06 23:03:27.10
すいませんコマンドの部分だけ変えてやったら出来たんですが全てのファイルを一つにコピーできません
for /R %%a in (test.txt) do copy /B %%a+test.txt test.txt
737:デフォルトの名無しさん
12/03/06 23:33:28.10
変えるなよバカ
738:デフォルトの名無しさん
12/03/06 23:40:45.65
試す前に、for/?くらい読めよ
739:デフォルトの名無しさん
12/03/06 23:42:24.85
だったらまともに動くものを書いてくださいよ
740:デフォルトの名無しさん
12/03/06 23:43:45.37
応用のできない奴に何を教えても無駄
741:デフォルトの名無しさん
12/03/06 23:52:11.61
それってあなたが書けないだけですよね?
742:デフォルトの名無しさん
12/03/06 23:54:03.40
あぶく銭は身に付かない
743:デフォルトの名無しさん
12/03/06 23:56:28.18
>>741
その手には乗らないよ
744:デフォルトの名無しさん
12/03/06 23:57:57.96
じゃあ邪魔しないでくださいよ
745:デフォルトの名無しさん
12/03/07 00:00:54.15
邪魔なんかしてないよw猫に小判なだけだろ
746:デフォルトの名無しさん
12/03/07 00:04:26.64
別にバッチファイルの勉強しているわけじゃないのに
くだらないクイズやナゾナゾなんて必要が無いんですよ
質問に答えられないなら邪魔でしかありません
747:デフォルトの名無しさん
12/03/07 00:08:04.61
くだらない質問に誰が答えるって?
748:デフォルトの名無しさん
12/03/07 00:09:55.18
いやにのびてると思ったら……
749:デフォルトの名無しさん
12/03/07 00:15:04.29
別にバッチファイルの勉強しているわけじゃないので
くだらない質問なんて答える必要が無いんですよ
750:デフォルトの名無しさん
12/03/07 00:16:51.61
バッチも使えないならUNIX使ってりゃいいじゃん
751:デフォルトの名無しさん
12/03/07 00:19:23.33
いや俺の認識だとむしろバッチだから使えないだと思う
普通に(無意味に)難しいよ、バッチは
752:デフォルトの名無しさん
12/03/07 00:20:15.83
答えられない人はせめて邪魔しないでもらえますか
753:デフォルトの名無しさん
12/03/07 00:22:00.94
俺、答えられるけど答える気ないだけだから邪魔してもいいよね?
754:デフォルトの名無しさん
12/03/07 00:24:14.98
それは答えられないと等しいですよね
答えられるのなら答えてるわけですから
スレの無駄なんて無能さらすのはツイッターでやってください
755:デフォルトの名無しさん
12/03/07 01:07:56.12
marge.txt くすっ
756:デフォルトの名無しさん
12/03/07 01:13:23.19
>>729には教えるだけ無駄 できないと等しいですよね
できるならやってるわけですから
スレの無駄なんて無能さらすのはツイッターでやってください
757:デフォルトの名無しさん
12/03/07 01:22:21.14
便りの無いのは良い便り
758:デフォルトの名無しさん
12/03/07 01:29:04.83
俺っちは>>730で動いたが、感謝の念もない無礼な輩が多いな
759:デフォルトの名無しさん
12/03/07 01:42:48.04
動く、という事と、
期待した結果は別なんじゃないかな。
760:デフォルトの名無しさん
12/03/07 01:43:55.08
エラーが出たら直せばいいと思うよ不通
それしないで逆切れするなんて以上
761:デフォルトの名無しさん
12/03/07 01:48:04.61
期待した結果になるように直せばいいと思うよ不通
それしないで逆切れするなんて以上
762:デフォルトの名無しさん
12/03/07 01:49:14.40
逆に、MS-DOSしかしらない人に
UNIXのシェルで作れって言ったら似たような事になると思うよ。
763:デフォルトの名無しさん
12/03/07 02:45:02.24
ならんと思うよ。
man findとかちゃんと調べるもん
764:デフォルトの名無しさん
12/03/07 02:53:36.94
馬鹿は何やっても駄目だから諦めた方がいいよ
765:デフォルトの名無しさん
12/03/07 03:03:25.28
クレクレ君に答えを与えないでくださいw
766:デフォルトの名無しさん
12/03/07 03:06:41.93
やるんじゃなかったなw
767:デフォルトの名無しさん
12/03/07 03:42:53.07
>>729,734,736,739,741,744,746,752,754
幼稚園からやり直せ
768:デフォルトの名無しさん
12/03/07 11:23:59.92
ファイルの結合はcopyだろ
誰がtypeでDOSに文字をかけと言った
769:デフォルトの名無しさん
12/03/07 16:33:17.37
だってcatじゃん
770:デフォルトの名無しさん
12/03/07 16:35:26.05
便所の書き込みに何を言ってる
771:デフォルトの名無しさん
12/03/07 16:38:23.60
自演ならもう少し面白くやってくれくれくん
772:デフォルトの名無しさん
12/03/07 16:45:22.53
だったらDOSじゃなくてDOGだろ?
773:デフォルトの名無しさん
12/03/07 18:08:10.27
>>755
中学英語からやり直せw
774:デフォルトの名無しさん
12/03/07 18:23:21.56
for /r ディレクトリ %i in (test.txt) do type %i>>marge.txt
775:デフォルトの名無しさん
12/03/07 18:31:08.06
くそ!どいつもこいつもバカにしやがって!!!!!!!!!
776:デフォルトの名無しさん
12/03/07 18:57:22.39
真夜中に2ちゃんでレスの応酬ってw
しかもバッチスレw
出遅れたわw
777:デフォルトの名無しさん
12/03/07 19:06:17.90
遅延展開やねw
778:デフォルトの名無しさん
12/03/07 19:38:22.80
シフトワーカーはバッチがお好き
779:デフォルトの名無しさん
12/03/07 20:48:16.79
こういうのはどうかけますか?
Cドライブに存在する全てのgitフォルダが何個存在するかカウント
780:デフォルトの名無しさん
12/03/07 21:08:57.30
エクスプローラで検索したほうが早くないか
781:デフォルトの名無しさん
12/03/07 21:44:47.11
単純に検索するとゴミ箱の中まで漁る
782:デフォルトの名無しさん
12/03/08 07:03:14.49
cd /d c:\
dir /s /b /ad .git | find /v /c ""
783:デフォルトの名無しさん
12/03/08 07:36:08.58
set n=0
for /r c:\ %%i in (.) do if "%%~nxi"=="git" set /a n+=1
echo %n%個
784:デフォルトの名無しさん
12/03/08 07:47:05.53
>>782の訂正版
cd /d c:\
dir /s /b /ad git | find /v /c ""
785:デフォルトの名無しさん
12/03/08 10:39:13.31
>>783
ifの前に@を付けろ
>>781
for /r はゴミ箱の中まで検索してるな
名前が偶然に一致するなんて、まず無いだろうが
786:デフォルトの名無しさん
12/03/08 10:51:38.35
>>783
nxiってなに?
787:デフォルトの名無しさん
12/03/08 11:19:32.20
>>786
n
x
i
だけじゃないから、自分で調べろ
for /?
788:デフォルトの名無しさん
12/03/09 07:11:46.74
>>782の訂正版
dir /s /b /ad c:\git | find /v /c ""
これでワンライナーOKだった
789:デフォルトの名無しさん
12/03/09 10:31:33.67
>>784,>>788
それ、c:\git というフォルダがあったら
その中身しか検索しないよ
790:デフォルトの名無しさん
12/03/09 11:28:30.28
ここで出てきたテクニックをwikiにまとめていただけませんか?
791:デフォルトの名無しさん
12/03/09 11:32:24.24
いただけませんか?とか書きこんでる間にwikihouseかどっか借りてコピペしてけばいいだろ
792:デフォルトの名無しさん
12/03/09 11:55:03.16
えええ俺がwiki借りるの面倒くさいです
793:デフォルトの名無しさん
12/03/09 12:50:20.55
dir abc*
ってやると先頭がabcから始まるファイルがヒットすれば表示されますが
ファイルの途中にabcが存在するようなファイルもヒットさせる方法を伝授してください
xxxabcxxx.txt
abc.xxx.txt
xxx.abc.txt
とか
拡張子が無いファイルとか拡張子にabcが来ることは無いと考えていただいて結構です
794:デフォルトの名無しさん
12/03/09 13:04:14.56
dir *abc*
795:デフォルトの名無しさん
12/03/09 15:40:42.38
うそこくでねー
796:デフォルトの名無しさん
12/03/09 15:49:29.44
ほんとだ
797:デフォルトの名無しさん
12/03/09 16:05:44.51
以前はウソだった。最近のcmd.exeは可能。いつからウソじゃなくなったか知らない。
798:デフォルトの名無しさん
12/03/09 16:14:51.52
少なくともxpは本当。
799:デフォルトの名無しさん
12/03/09 16:19:08.35
今試したら、98SEでも行けた。
大昔(DOS2とかCP/Mとかの時代)はNGだったのは確かだが、
いつOKになったんだろ?
800:デフォルトの名無しさん
12/03/09 16:29:00.75
*abc* ぐらい試してから質問しろよ
801:デフォルトの名無しさん
12/03/09 16:32:20.65
試したら質問しないだろw
802:デフォルトの名無しさん
12/03/09 16:38:06.29
16bit DOSの場合は
dir *abc*.*
803:デフォルトの名無しさん
12/03/09 17:55:31.57
バッチファイルでも「最新の情報に更新」(F5キー)を使えますか?
デスクトップのファイルを定期的に別のフォルダに移すバッチファイルを書いたんですが、
ファイルが消えても更新するまでアイコンが残ってしまって・・・
804:デフォルトの名無しさん
12/03/09 17:57:57.63
ahk呼んでsendcontrolでもしたら
805:デフォルトの名無しさん
12/03/09 17:58:23.49
山口美江さんが亡くなった・・・
おまえらが急に老けたとか言うから
806:デフォルトの名無しさん
12/03/09 17:58:43.96
ごめん誤爆
807:デフォルトの名無しさん
12/03/09 18:03:59.92
>>803
ふつー残らんよ
でもどうしてっつーなら
createobject("shell.application").windows().item().refreah
808:デフォルトの名無しさん
12/03/09 18:13:03.08
バッチでクリップボードの文字列を引数として渡すことはできますか?
809:デフォルトの名無しさん
12/03/09 18:23:21.58
for /f %%i in ('~') do echo %%i
ってこと?
'~'に
cscript.exe ~~
mshta.exe ~~
powershell.exe ~~
ってすりゃいい どれでも得意なのでどぞ
810:デフォルトの名無しさん
12/03/09 18:36:11.79
C:\2012\以下のサブディレクトリも含む全てのファイルの更新履歴が
2012年2月1日0時0分0秒以降になっているものをリストアップするのはbatでできますか?
811:デフォルトの名無しさん
12/03/09 18:38:05.77
forfiles/?
812:デフォルトの名無しさん
12/03/09 18:43:25.00
Aフォルダに入っているファイルを
Bフォルダにバックアップしたいと考えてます
そこでBフォルダには入っていてAフォルダにないファイルを一覧にしたいのですが
どうやるのでしょうか?
813:デフォルトの名無しさん
12/03/09 18:51:10.75
for + if
または
dir + findstr
814:デフォルトの名無しさん
12/03/09 19:43:18.94
>>804
ありがとうございます
ごめんなさい、難しくてよくわかりません;;
>>807
ありがとうございます、教えてもらった方法でできました!
'createobject'は、内部コマンドまたは外部コマンド、
操作可能なプログラムまたはバッチ ファイルとして認識されていません。
と出るのですが、これはこれでいいんでしょうか?
WIN7を使っています。
815:デフォルトの名無しさん
12/03/09 20:37:42.34
正常
816:デフォルトの名無しさん
12/03/09 20:41:47.70
> refreah
817:デフォルトの名無しさん
12/03/09 21:39:36.03
> refresh.vbs
818:デフォルトの名無しさん
12/03/09 22:07:54.59
CSVファイルを読み込んで、ちょっとした処理をしたかったのだけど、
読み込む対象のファイル名に半角スペースが入っていた場合どうすればいい?
ここを参考にしたんだけど、
URLリンク(vaindespair.blogspot.com)
半角スペース入りのファイル名だとうまくいかないのです。
・・・と書いてて閃いたw
FOR /F "tokens=1,3 delims=," %%a IN ( 'type "hannkaku space irino file.csv"' ) DO (
819:デフォルトの名無しさん
12/03/09 22:22:23.19
FOR /F "usebackq tokens=1,3 delims=," %%a IN ( "hannkaku space irino file.csv" ) DO (
だよーん
820:818
12/03/09 22:29:58.17
ありがとう!
821:デフォルトの名無しさん
12/03/09 22:58:55.52
forでcsvって難しくないか?
"abc,def","pqr","xyz"
ってなのがあったらモー駄目だろ?
822:デフォルトの名無しさん
12/03/10 03:16:58.48
>>812
set a="c:\tmp\Aフォルダ"
set b="c:\tmp\Bフォルダ"
set list="c:\tmp\B-A_list.txt"
call >%list%
for /f "usebackq delims=" %%b in (`dir /a-d /b %b%`) do @if not exist %a:~0,-1%\%%b" >>%list% echo %b:~0,-1%\%%b"
823:デフォルトの名無しさん
12/03/10 03:26:27.10
set a="c:\tmp\Aフォルダ"
set list="c:\tmp\B-A_list.txt"
call >%list%
cd /d "c:\tmp\Bフォルダ"
for /f "delims=" %%b in ('dir /a-d /b') do @if not exist %a:~0,-1%\%%b" >>%list% echo "%%~fb"
824:デフォルトの名無しさん
12/03/10 04:11:12.36
findstrは?
825: 忍法帖【Lv=14,xxxPT】
12/03/10 20:05:58.09
質問です。よろしくお願いします。
バッチファイル(あひゃ.bat)を優先度低で実行させるために
start /b /belownormal あひゃ.bat
と書かれているcmdファイルを作成し、それを実行させているのですが、
あひゃ.batが終了してもDos窓が閉じません。
終了後に自動で閉じるようにするにはどうしたら良いのでしょうか?
826:デフォルトの名無しさん
12/03/10 20:10:47.82
start /b /belownormal cmd /c あひゃ.bat
827:デフォルトの名無しさん
12/03/10 20:31:41.10
あひゃ.bat
に
echo %cmdcmdline%
を入れてみりゃ理由がわかる
828:825 忍法帖【Lv=14,xxxPT】
12/03/10 21:12:23.08
早速のレス、感謝します。
>>826サンの方法で見事にDos窓が自動で閉じました。
>>827サンのとおりに実行したらなんとなく解ったような気がします。
cmd /k と cmd /c の違いですね。help startとかhelp cmdを読んでないのがバレバレ(;´∀`)
なんとなく思い込みでstartコマンドの/bオプション(ウインドウを作成しない)を付けたのですが、
実はコレ無くても良かったみたいです。(じ、実は/bオプションの意味もよく解っていないっ!(∀`*ゞ)
とにかく期待通りに動いたので満足です。
お二方ともありかとうございました。
829:デフォルトの名無しさん
12/03/10 21:13:49.52
batを起動しっぱなしにして
タスクマネージャのタスク名に指定した名前(例えばメモ帳を立ち上げて「無題 - メモ帳」など)が出たら
ログに書き込むというのはbatで出来ますか?
830:デフォルトの名無しさん
12/03/10 21:18:31.36
tasklist
831:デフォルトの名無しさん
12/03/10 22:28:53.73
wmic process get name
832:デフォルトの名無しさん
12/03/11 14:15:58.30
>>808
WSHと組み合わせないと無理だったはず
833:818
12/03/11 23:14:37.36
>>821
そこまで本気なことをするには荷が重いものだと理解してます。
(できるかもしれないけど、数ヵ月or数年後の自分に理解ができない、と思うので)
834:デフォルトの名無しさん
12/03/12 00:12:38.31
>>808
clip.exeか類似ソフト使えば出来る
835:デフォルトの名無しさん
12/03/12 04:15:25.41
内蔵のclip.exeじゃだめだけどな
836:デフォルトの名無しさん
12/03/12 06:41:41.28
スレタイ(ry
837:デフォルトの名無しさん
12/03/12 16:34:50.59
>>832
WSHったってIE使ったりして大変だろ?
>>809
お勧めは?
838:デフォルトの名無しさん
12/03/12 17:24:09.19
>>837
> WSHったってIE使ったりして大変だろ?
ならば>>809のは全部同類だから「大変」だ
839:デフォルトの名無しさん
12/03/12 18:01:20.27
そうなのか?
簡単に書けるものってないのか?
840:デフォルトの名無しさん
12/03/12 18:50:35.07
powershellなら簡単よ
841:デフォルトの名無しさん
12/03/12 23:45:56.93
for /f "usebackq tokens=1,* delims=[]" %i in (`mshta "javascript:close(new ActiveXObject('Scripting.FileSystemObject').GetStandardStream(1).Write(clipboardData.getData('Text')));"^|find /v /n ""`) do @set "c[%i]=%j"
これでどうだろう
842:デフォルトの名無しさん
12/03/13 02:24:40.37
まあまあやね
843:デフォルトの名無しさん
12/03/13 02:31:28.01
及第点やね
powershell版もできたら満点や