12/03/01 15:54:15.80
複数のファイルをバッチにD&Dしたら
引数の順番って、どう決まるの?
echo %*
マウスカーソルの位置のファイルが一番目?
651:デフォルトの名無しさん
12/03/01 22:29:17.92
そうよ
2番目以降は並び順、ラップラウンド
652:デフォルトの名無しさん
12/03/01 22:30:26.30
ついでに言うと、1番目ファイルでカレントディレクトリ
653:デフォルトの名無しさん
12/03/01 23:10:40.16
バッチにD&Dしたら、カレントディレクトリは
%HOMEDRIVE%%HOMEPATH%が既定値なのでは?
654:デフォルトの名無しさん
12/03/01 23:25:46.89
なのではって?そうなるのか?OSは?
655:デフォルトの名無しさん
12/03/01 23:30:35.02
すまん。俺のPCは古い化石なんで、Win2000
他のは違うんかも
656:デフォルトの名無しさん
12/03/02 00:04:32.12
カレントディレクトリはバッチに落とした場合とバッチのショートカットに
落とした場合で異なる。
657:デフォルトの名無しさん
12/03/02 00:38:45.35
ショートカットの場合はプロパティで確認できる。
D&Dしたファイルとは無関係なようです
658:デフォルトの名無しさん
12/03/02 00:40:18.10
ショートカットで設定してなければバッチと同じ
当たり前だろ
659:デフォルトの名無しさん
12/03/02 00:56:50.35
だから何?
おれはショートカットの話は別にどうでもいいんだが
660:デフォルトの名無しさん
12/03/02 01:15:31.22
カレントディレクトリはバッチに落とした場合とVBSに
落とした場合で異なる。
661:デフォルトの名無しさん
12/03/02 01:16:24.16
だから何?
おれはVBSの話は別にどうでもいいんだが
662:デフォルトの名無しさん
12/03/02 01:20:45.18
他人のレスの真似するなよ。
663:デフォルトの名無しさん
12/03/02 02:36:25.83
なんでvbsは違うんだ?
664:デフォルトの名無しさん
12/03/02 02:39:43.76
だから何?
おれはVBSの話は別にどうでもいいんだが
665:デフォルトの名無しさん
12/03/02 02:53:26.53
>>659
お前バカだろ。起動時のカレントディレクトリはあてにしてはいけないという事だ。
つまり、>>652の情報は何の意味もない。
666:デフォルトの名無しさん
12/03/02 02:54:30.97
なんでスレタイ読めないの?
おれはVBSの話は別にどうでもいいんだが
667:デフォルトの名無しさん
12/03/02 03:39:03.93
VBSのドロップハンドラがへぼいんだろ
668:デフォルトの名無しさん
12/03/02 08:52:29.56
>>665
お前バカだろ。当たり前だろ
669:ホイミン1
12/03/02 11:52:24.56
>>649 おお、そうなんだ勉強になったなあ。確認したんだけどなあ。
でもそんなにも僕はうっかり者だったのかと、もう一度確認したけど、ソートされているみたいだよ。
なにか勘違いしているかな? dir が使えなかったのは、変わらないけど。
R:\Ue\Shita>dir /b /on fortest.bat "Shit a2.txt" dirfile.bat
dirfile.bat
fortest.bat
Shit a2.txt
Drug and Drop は absolute で渡されるからいいんだけど、relative path を使った short cut の上に D'nD する際に問題になって、調べた事があるよ。
Drug and Drop は vista 以降で変更されているようだよ。
current directory は、XP 以前では %HOMEDRIVE%%HOMEPATH%、vista 以降では %~dp1 らしいね。
参考 URLリンク(www.hirax.net)
670:ホイミン2
12/03/02 12:05:26.19
まとめてみたよ。XP では確認した(けど、でもばっちり確認したわけじゃあないから、低レベルな事を言わないで訂正してくれ)よ。
Current Directory in the various cases of launching
______________________ , 2000, _ XP,VISTA,SEVEN
DrugAndDrop___________ , HOME, HOME, _ %1, _ %1
DoubleClick___________ ,Lnchd,Lnchd,Lnchd,Lnchd
DrugAndDrop On ShortCut, HOME, HOME, _ %1, _ %1
DoubleClick Of ShortCut,Lnchd,Lnchd,Lnchd,Lnchd
-Anotation
-ShortCut is in case of the blank of "Start In". If not blanked, current directry follows it.
- HOME: %HOMEDRIVE%%HOMEPATH%
- _ %1: Directory of the 1st argument
-Lnchd: Launched directory (in case of short cut, directory of short cut)
drug and drop の際の問題といえば、全角スペース(他にも有)を含む "file name.txt" などのファイルを Drug and Drop するとクオートされないよね。他にも知ってる問題があったら、教えて。
671:デフォルトの名無しさん
12/03/02 14:15:09.54
コマンドとか以前に
× Drug
○ Drag
672:デフォルトの名無しさん
12/03/02 19:16:55.25
>current directory は、XP 以前では %HOMEDRIVE%%HOMEPATH%、
explorer processのcurrent directoryでは?
673:デフォルトの名無しさん
12/03/02 19:33:17.13
moveでフォルダ移動のときフォルダ名指定に*使えないのは嫌がらせでしょうか
674:デフォルトの名無しさん
12/03/02 20:06:48.04
仕様です
675:デフォルトの名無しさん
12/03/03 00:56:48.46
>>669
俺は >>649 じゃないが、dir の /og は引数をソートしないようだ。
他は知らない。
というか間違いを書き込んで放置している奴が、
他人に社会性云々などと言える立場かよ。
レベルが低くて悪かったね。
便所の書き込みでした。
676:デフォルトの名無しさん
12/03/03 01:24:11.63
ドラッグ&ドロップ 前提のバッチファイルならバッチの冒頭とかに
cd /d %~dp0
や
cd /d %~dp1
とかを状況次第で必要に応じて書き加えていそうなもんだが。
OS による挙動の違いで問題、とかいってる前にしないのかね。
677:デフォルトの名無しさん
12/03/03 01:49:25.89
>>669
dir /b /on test\2\2.txt test\1\1.txt
2.txt
1.txt
678:デフォルトの名無しさん
12/03/03 03:30:18.27
どうでもいいっす
679:デフォルトの名無しさん
12/03/03 05:21:31.12
バージョンの違いだろwあほども
680:デフォルトの名無しさん
12/03/03 09:01:15.54
低レベルな事を言わないでくれってさ
681:デフォルトの名無しさん
12/03/03 10:50:21.10
>>676
バッチファイルでcd前提の処理は
UNCパスで実行された場合、想定外の動作になる
バッチファイルは相対ダメ
ゼッタイ絶対パス指定すべし
682:デフォルトの名無しさん
12/03/03 11:08:26.87
どうでもいいっす
683:634
12/03/03 12:11:55.59
>>637
ありがとうございます
教えて頂いた方法でやりたいことが出来ました
好奇心から、異なるディレクトリのものをまとめて送れるランチャーやファイルのリストなどから
同様のことが出来ないものかと機能拡張を試みて試行錯誤していてお礼が遅くなりました
申し訳ございません
改めまして再度質問です。よいお知恵があればご助言お願いします
arg.tmpの内容 list.txt 表示したい結果
"C:\TMP\aaa.txt" "C:\TMP\abc" "C:\TMP\abc"
"C:\TMP\abc" "C:\TMP\aaa.txt" "C:\TMP\aaa.txt"
"C:\TMP\abc.txt" "C:\TMP\abc.txt" "C:\TMP\abc.txt"
"C:\TMP\abc\1ファイル.txt" "C:\TMP\abc\4フォルダ" "C:\TMP\abd.txt"
"C:\TMP\abc\2ファイル.txt" "C:\TMP\abc\5フォルダ" "C:\TMP\bbb.txt"
"C:\TMP\abc\3ファイル.txt" "C:\TMP\abc\1ファイル.txt" "C:\TMP\abc\4フォルダ"
"C:\TMP\abc\4フォルダ" "C:\TMP\abc\2ファイル.txt" "C:\TMP\abc\5フォルダ"
"C:\TMP\abc\5フォルダ" "C:\TMP\abc\3ファイル.txt" "C:\TMP\abc\1ファイル.txt"
"C:\TMP\abd.txt" "C:\TMP\abd.txt" "C:\TMP\abc\2ファイル.txt"
"C:\TMP\abd\123.txt" "C:\TMP\abd\efg" "C:\TMP\abc\3ファイル.txt"
"C:\TMP\abd\456.txt" "C:\TMP\abd\123.txt" "C:\TMP\abd\efg"
"C:\TMP\abd\efg" "C:\TMP\abd\456.txt" "C:\TMP\abd\123.txt"
"C:\TMP\bbb.txt" "C:\TMP\bbb.txt" "C:\TMP\abd\456.txt"
arg.tmpのソートの方法がまずいということはわかるのですがどうすればいいのやら。。
以下に書いたバッチを貼ります。少し長いですがご容赦願います
684:634
12/03/03 12:12:59.66
@echo off
set argpath=
set arglist=
call >"%~dp0list.txt"
@(for %%a in (%*) do @echo "%%~fa")|sort /o "%~dp0arg.tmp"
for /f "usebackq" %%b in ("%~dp0arg.tmp") do call :sub1 %%b
call :sub2
rem del "%~dp0arg.tmp"
pause&exit /b
:sub1
if not defined argpath (
set argpath="%~dp1"
set arglist=%1
exit /b
)
if %argpath%=="%~dp1" (
set arglist=%arglist% %1
exit /b
)
call :sub2
set argpath="%~dp1"
set arglist=%1
exit /b
685:634
12/03/03 12:13:15.16
:sub2
set arglistfile=
for %%c in (%arglist%) do call :sub3 "%%~ac" "%%~fc"
if not defined arglistfile exit /b
for %%d in (%arglistfile%) do >>"%~dp0list.txt" echo "%%~fd"
set arglist=
exit /b
:sub3
set attr=%1
set attr=%attr:~1,1%
if "%attr%"=="d" ( >>"%~dp0list.txt" echo "%~2"
) else ( set arglistfile=%arglistfile% "%~2"
)
set attr=
exit /b
686:デフォルトの名無しさん
12/03/03 12:38:57.51
絡んだおれがバカだった
絶対パスで好きにしてくれ
687:デフォルトの名無しさん
12/03/03 13:57:54.46
てかいまどきバッチファイルなんか書いてる奴らが総じて底辺。
688:デフォルトの名無しさん
12/03/03 14:00:13.55
>>679
テキトーなことぬかすなボケ
689:634
12/03/03 15:20:00.58
arg.tmpの内容を "%%~dpa" "%%~fa" としてソートし :sub1 の%1を%2とすることで解決出来ました
こっちのほうが効率がいいとかありましたら指摘お願いします。以下、修正したバッチです
@echo off
set argpath=
set arglist=
set tmpfile="%~dp0arg.tmp"
set output="%~dp0list.txt"
call >%output%
@(for %%a in (%*) do @echo "%%~dpa" "%%~fa")|sort /o %tmpfile%
for /f "usebackq delims=" %%b in (%tmpfile%) do call :sub1 %%b
call :sub2
del %tmpfile%
exit /b
:sub1
if not defined argpath ( goto :jump )
if %argpath%=="%~dp2" ( set arglist=%arglist% %2
exit /b )
call :sub2
:jump
set argpath="%~dp2"
set arglist=%2
exit /b
690:634
12/03/03 15:20:35.76
:sub2
set arglistfile=
for %%c in (%arglist%) do call :sub3 "%%~ac" "%%~fc"
if not defined arglistfile exit /b
for %%d in (%arglistfile%) do >>%output% echo "%%~fd"
set arglist=
exit /b
:sub3
set attr=%1
set attr=%attr:~1,1%
if "%attr%"=="d" ( >>%output% echo "%~2"
) else ( set arglistfile=%arglistfile% "%~2"
)
set attr=
exit /b
691:デフォルトの名無しさん
12/03/03 18:01:42.04
うざ
692:デフォルトの名無しさん
12/03/03 19:48:23.70
%~dpは早退なのかよ
693:デフォルトの名無しさん
12/03/03 20:02:34.08
遅刻なのかよ
694:デフォルトの名無しさん
12/03/03 20:06:23.02
dir /b /on test\2\2.txt test\1\1.txt
1.txt
2.txt
695:デフォルトの名無しさん
12/03/03 21:11:40.93
dir /b /on z:\z.txt y:\y.txt
z.txt
y.txt
696:デフォルトの名無しさん
12/03/03 21:39:04.11
dir /b /on z:\* y:\*
z.txt
y.txt
697:デフォルトの名無しさん
12/03/03 22:59:19.02
dir /b /on test\2\2.txt test\1\1.txt |sort
1.txt
2.txt
698:デフォルトの名無しさん
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版もできたら満点や