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


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

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



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

※何でも無理矢理バッチでやろうとせず、WSH等の使用も検討しましょう。
前スレ
【.cmd】 バッチファイルスクリプト %7 【.bat】
hibari.2ch.net/test/read.cgi/tech/1298873550/

【.cmd】 バッチファイルスクリプト %6 【.bat】
hibari.2ch.net/test/read.cgi/tech/1277465356/
【.cmd】 バッチファイルスクリプト %5 【.bat】
pc12.2ch.net/test/read.cgi/tech/1242268171/
【.cmd】 バッチファイルスクリプト %4 【.bat】
pc12.2ch.net/test/read.cgi/tech/1229955189/
【.cmd】 バッチファイルスクリプト %3 【.bat】
pc11.2ch.net/test/read.cgi/tech/1217860043/
【.cmd】 バッチファイルスクリプト %2 【.bat】
pc12.2ch.net/test/read.cgi/tech/1197881068/
【.cmd】 バッチファイルスクリプト %1 【.bat】
pc11.2ch.net/test/read.cgi/tech/1178281991/

665 名前:デフォルトの名無しさん mailto:saga [2012/03/02(金) 02:53:26.53 ]
>>659
お前バカだろ。起動時のカレントディレクトリはあてにしてはいけないという事だ。
つまり、>>652の情報は何の意味もない。

666 名前:デフォルトの名無しさん mailto:sage [2012/03/02(金) 02:54:30.97 ]
なんでスレタイ読めないの?
おれはVBSの話は別にどうでもいいんだが

667 名前:デフォルトの名無しさん mailto:sage [2012/03/02(金) 03:39:03.93 ]
VBSのドロップハンドラがへぼいんだろ

668 名前:デフォルトの名無しさん mailto:sage [2012/03/02(金) 08:52:29.56 ]
>>665
お前バカだろ。当たり前だろ

669 名前:ホイミン1 mailto:sage [2012/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 らしいね。
参考 www.hirax.net/diaryweb/2009/06/04.html


670 名前:ホイミン2 mailto:sage [2012/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 名前:デフォルトの名無しさん mailto:sage [2012/03/02(金) 14:15:09.54 ]
コマンドとか以前に
× Drug
○ Drag


672 名前:デフォルトの名無しさん mailto:sage [2012/03/02(金) 19:16:55.25 ]
>current directory は、XP 以前では %HOMEDRIVE%%HOMEPATH%、
explorer processのcurrent directoryでは?

673 名前:デフォルトの名無しさん mailto:sage [2012/03/02(金) 19:33:17.13 ]
moveでフォルダ移動のときフォルダ名指定に*使えないのは嫌がらせでしょうか



674 名前:デフォルトの名無しさん mailto:sage [2012/03/02(金) 20:06:48.04 ]
仕様です

675 名前:デフォルトの名無しさん mailto:sage [2012/03/03(土) 00:56:48.46 ]
>>669
俺は >>649 じゃないが、dir の /og は引数をソートしないようだ。
他は知らない。
というか間違いを書き込んで放置している奴が、
他人に社会性云々などと言える立場かよ。
レベルが低くて悪かったね。
便所の書き込みでした。

676 名前:デフォルトの名無しさん mailto:sage [2012/03/03(土) 01:24:11.63 ]
ドラッグ&ドロップ 前提のバッチファイルならバッチの冒頭とかに
cd /d %~dp0

cd /d %~dp1
とかを状況次第で必要に応じて書き加えていそうなもんだが。
OS による挙動の違いで問題、とかいってる前にしないのかね。


677 名前:デフォルトの名無しさん mailto:sage [2012/03/03(土) 01:49:25.89 ]
>>669
dir /b /on test\2\2.txt test\1\1.txt
2.txt
1.txt


678 名前:デフォルトの名無しさん mailto:sage [2012/03/03(土) 03:30:18.27 ]
どうでもいいっす

679 名前:デフォルトの名無しさん mailto:sage [2012/03/03(土) 05:21:31.12 ]
バージョンの違いだろwあほども

680 名前:デフォルトの名無しさん mailto:sage [2012/03/03(土) 09:01:15.54 ]
低レベルな事を言わないでくれってさ

681 名前:デフォルトの名無しさん mailto:sage [2012/03/03(土) 10:50:21.10 ]
>>676
バッチファイルでcd前提の処理は
UNCパスで実行された場合、想定外の動作になる

バッチファイルは相対ダメ
ゼッタイ絶対パス指定すべし

682 名前:デフォルトの名無しさん mailto:sage [2012/03/03(土) 11:08:26.87 ]
どうでもいいっす

683 名前:634 mailto:sage [2012/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 mailto:sage [2012/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 mailto:sage [2012/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 名前:デフォルトの名無しさん mailto:sage [2012/03/03(土) 12:38:57.51 ]
絡んだおれがバカだった
絶対パスで好きにしてくれ

687 名前:デフォルトの名無しさん mailto:sage [2012/03/03(土) 13:57:54.46 ]
てかいまどきバッチファイルなんか書いてる奴らが総じて底辺。

688 名前:デフォルトの名無しさん mailto:sage [2012/03/03(土) 14:00:13.55 ]
>>679
テキトーなことぬかすなボケ

689 名前:634 mailto:sage [2012/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 mailto:sage [2012/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 名前:デフォルトの名無しさん mailto:sage [2012/03/03(土) 18:01:42.04 ]
うざ

692 名前:デフォルトの名無しさん mailto:sage [2012/03/03(土) 19:48:23.70 ]
%~dpは早退なのかよ

693 名前:デフォルトの名無しさん mailto:sage [2012/03/03(土) 20:02:34.08 ]
遅刻なのかよ



694 名前:デフォルトの名無しさん mailto:sage [2012/03/03(土) 20:06:23.02 ]
dir /b /on test\2\2.txt test\1\1.txt
1.txt
2.txt

695 名前:デフォルトの名無しさん mailto:sage [2012/03/03(土) 21:11:40.93 ]
dir /b /on z:\z.txt y:\y.txt
z.txt
y.txt

696 名前:デフォルトの名無しさん mailto:sage [2012/03/03(土) 21:39:04.11 ]
dir /b /on z:\* y:\*
z.txt
y.txt

697 名前:デフォルトの名無しさん mailto:sage [2012/03/03(土) 22:59:19.02 ]
dir /b /on test\2\2.txt test\1\1.txt |sort
1.txt
2.txt


698 名前:デフォルトの名無しさん mailto:sage [2012/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 名前:デフォルトの名無しさん mailto:sage [2012/03/04(日) 01:34:32.16 ]
>>698
確かに引数をソートしてるな

700 名前:デフォルトの名無しさん mailto:sage [2012/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 名前:デフォルトの名無しさん mailto:sage [2012/03/04(日) 01:38:36.31 ]
ディレクトリ単位にソートってことだろ?

702 名前:デフォルトの名無しさん mailto:sage [2012/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 名前:デフォルトの名無しさん mailto:sage [2012/03/04(日) 15:41:04.60 ]
うざ



704 名前:デフォルトの名無しさん mailto:sage [2012/03/04(日) 16:17:47.60 ]
>>689-690 はファイル名に%文字があると誤動作する

705 名前:デフォルトの名無しさん mailto:sage [2012/03/04(日) 18:03:47.92 ]
どの行?

706 名前:デフォルトの名無しさん mailto:sage [2012/03/04(日) 18:07:01.85 ]
あの行

707 名前:デフォルトの名無しさん mailto:sage [2012/03/04(日) 18:09:41.44 ]
たぶんcallの引数の%が化ける

708 名前:デフォルトの名無しさん mailto:sage [2012/03/04(日) 19:27:26.60 ]
引数渡しやめて環境変数渡しにすればよい

709 名前:デフォルトの名無しさん mailto:sage [2012/03/04(日) 23:36:02.16 ]
>>704
ファイル名の%ってどうやって環境変数記号でないと判断させればいいの?

ファイル名内の%の位置を調べて存在したら
^でエスケープするしかない?

710 名前:デフォルトの名無しさん mailto:sage [2012/03/04(日) 23:38:42.64 ]
%のエスケープは%%だよ

711 名前:デフォルトの名無しさん mailto:sage [2012/03/05(月) 00:00:12.25 ]
なんでお前らいまだにバッチファイル書いてるの?

712 名前:デフォルトの名無しさん mailto:sage [2012/03/05(月) 00:12:58.43 ]
バッチファイルは基本だよ

713 名前:デフォルトの名無しさん mailto:sage [2012/03/05(月) 00:36:58.96 ]
>>709
%%



714 名前:デフォルトの名無しさん mailto:sage [2012/03/05(月) 00:42:23.44 ]
for変数と混同するんじゃね

715 名前:デフォルトの名無しさん mailto:sage [2012/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 名前:デフォルトの名無しさん mailto:sage [2012/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 名前:デフォルトの名無しさん mailto:sage [2012/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 名前:デフォルトの名無しさん [2012/03/05(月) 23:49:44.92 ]
^%

719 名前:デフォルトの名無しさん mailto:sage [2012/03/06(火) 00:07:24.36 ]
@echo off
for %%i in (%*) do set a=%%i& call :x
pause & goto :eof
:x
echo %a%


720 名前:デフォルトの名無しさん mailto:sage [2012/03/06(火) 00:10:12.82 ]
いつまでやってんだよカス

721 名前:デフォルトの名無しさん mailto:sage [2012/03/06(火) 00:14:24.77 ]
サンキューカッス

722 名前:デフォルトの名無しさん mailto:sage [2012/03/06(火) 00:27:17.77 ]
もっと面白いネタは無いのか

723 名前:デフォルトの名無しさん mailto:sage [2012/03/06(火) 00:42:25.31 ]
ない



724 名前:デフォルトの名無しさん mailto:sage [2012/03/06(火) 01:06:38.12 ]
とっく枯渇してるので、蒸し返しばっか


725 名前:デフォルトの名無しさん mailto:sage [2012/03/06(火) 01:13:44.33 ]
でもスレを覗くんですね

726 名前:デフォルトの名無しさん mailto:sage [2012/03/06(火) 01:28:48.52 ]
でもってなにがでもだ?

727 名前:デフォルトの名無しさん mailto:sage [2012/03/06(火) 01:34:13.80 ]
新しい知見を得るために覗いていたのか?

728 名前:デフォルトの名無しさん mailto:sage [2012/03/06(火) 16:34:55.54 ]
よほど無知なんだろ

729 名前:デフォルトの名無しさん mailto:sage [2012/03/06(火) 17:10:05.33 ]
スレ立てるまでもない質問スレで教えていただいたUNIXコマンドがあります
cat `find あるディレクトリ -name test.txt` > 一つのファイル
これはあるディレクトリ以下の全てのサブディレクトリを含めて、test.txtというファイルの内容を一つのファイルにまとめるコマンドです
Windowsでも同じようにやりたいのですが
copy ファイル1.txt+ファイル2.txt・・・・ marge.txt
といった感じに+でいちいち書いていくのが面倒なのでよい方法内でしょうか?

730 名前:デフォルトの名無しさん mailto:sage [2012/03/06(火) 17:55:25.05 ]
for /r ディレクトリ %i in (*) do type %i>>test.txt

731 名前:デフォルトの名無しさん mailto:sage [2012/03/06(火) 18:14:10.14 ]
まんまじゃねーか

732 名前:デフォルトの名無しさん mailto:sage [2012/03/06(火) 18:18:00.13 ]
え?なんかやる事とやってる事が違うくね?

733 名前:デフォルトの名無しさん mailto:sage [2012/03/06(火) 18:30:45.73 ]
こまけーことはいいんだよ!



734 名前:デフォルトの名無しさん mailto:sage [2012/03/06(火) 22:36:25.51 ]
>>730
試してみたんですが
> の使い方が誤ってます
ってエラーがでます

735 名前:デフォルトの名無しさん mailto:sage [2012/03/06(火) 22:53:00.85 ]
試す前に、なにやってるかくらい読めよ

736 名前:デフォルトの名無しさん mailto:sage [2012/03/06(火) 23:03:27.10 ]
すいませんコマンドの部分だけ変えてやったら出来たんですが全てのファイルを一つにコピーできません
for /R %%a in (test.txt) do copy /B %%a+test.txt test.txt

737 名前:デフォルトの名無しさん mailto:sage [2012/03/06(火) 23:33:28.10 ]
変えるなよバカ

738 名前:デフォルトの名無しさん mailto:sage [2012/03/06(火) 23:40:45.65 ]
試す前に、for/?くらい読めよ


739 名前:デフォルトの名無しさん mailto:sage [2012/03/06(火) 23:42:24.85 ]
だったらまともに動くものを書いてくださいよ

740 名前:デフォルトの名無しさん mailto:sage [2012/03/06(火) 23:43:45.37 ]
応用のできない奴に何を教えても無駄

741 名前:デフォルトの名無しさん mailto:sage [2012/03/06(火) 23:52:11.61 ]
それってあなたが書けないだけですよね?

742 名前:デフォルトの名無しさん mailto:sage [2012/03/06(火) 23:54:03.40 ]
あぶく銭は身に付かない

743 名前:デフォルトの名無しさん mailto:sage [2012/03/06(火) 23:56:28.18 ]
>>741
その手には乗らないよ



744 名前:デフォルトの名無しさん mailto:sage [2012/03/06(火) 23:57:57.96 ]
じゃあ邪魔しないでくださいよ

745 名前:デフォルトの名無しさん mailto:sage [2012/03/07(水) 00:00:54.15 ]
邪魔なんかしてないよw猫に小判なだけだろ

746 名前:デフォルトの名無しさん mailto:sage [2012/03/07(水) 00:04:26.64 ]
別にバッチファイルの勉強しているわけじゃないのに
くだらないクイズやナゾナゾなんて必要が無いんですよ
質問に答えられないなら邪魔でしかありません

747 名前:デフォルトの名無しさん mailto:sage [2012/03/07(水) 00:08:04.61 ]
くだらない質問に誰が答えるって?

748 名前:デフォルトの名無しさん mailto:sage [2012/03/07(水) 00:09:55.18 ]
いやにのびてると思ったら……

749 名前:デフォルトの名無しさん mailto:sage [2012/03/07(水) 00:15:04.29 ]
別にバッチファイルの勉強しているわけじゃないので
くだらない質問なんて答える必要が無いんですよ

750 名前:デフォルトの名無しさん mailto:sage [2012/03/07(水) 00:16:51.61 ]
バッチも使えないならUNIX使ってりゃいいじゃん

751 名前:デフォルトの名無しさん mailto:sage [2012/03/07(水) 00:19:23.33 ]
いや俺の認識だとむしろバッチだから使えないだと思う
普通に(無意味に)難しいよ、バッチは

752 名前:デフォルトの名無しさん mailto:sage [2012/03/07(水) 00:20:15.83 ]
答えられない人はせめて邪魔しないでもらえますか

753 名前:デフォルトの名無しさん mailto:sage [2012/03/07(水) 00:22:00.94 ]
俺、答えられるけど答える気ないだけだから邪魔してもいいよね?



754 名前:デフォルトの名無しさん mailto:sage [2012/03/07(水) 00:24:14.98 ]
それは答えられないと等しいですよね
答えられるのなら答えてるわけですから
スレの無駄なんて無能さらすのはツイッターでやってください

755 名前:デフォルトの名無しさん mailto:sage [2012/03/07(水) 01:07:56.12 ]
marge.txt くすっ

756 名前:デフォルトの名無しさん mailto:sage [2012/03/07(水) 01:13:23.19 ]
>>729には教えるだけ無駄 できないと等しいですよね
できるならやってるわけですから
スレの無駄なんて無能さらすのはツイッターでやってください

757 名前:デフォルトの名無しさん mailto:sage [2012/03/07(水) 01:22:21.14 ]
便りの無いのは良い便り

758 名前:デフォルトの名無しさん mailto:sage [2012/03/07(水) 01:29:04.83 ]
俺っちは>>730で動いたが、感謝の念もない無礼な輩が多いな

759 名前:デフォルトの名無しさん mailto:sage [2012/03/07(水) 01:42:48.04 ]
動く、という事と、
期待した結果は別なんじゃないかな。

760 名前:デフォルトの名無しさん mailto:sage [2012/03/07(水) 01:43:55.08 ]
エラーが出たら直せばいいと思うよ不通
それしないで逆切れするなんて以上

761 名前:デフォルトの名無しさん mailto:sage [2012/03/07(水) 01:48:04.61 ]
期待した結果になるように直せばいいと思うよ不通
それしないで逆切れするなんて以上

762 名前:デフォルトの名無しさん mailto:sage [2012/03/07(水) 01:49:14.40 ]
逆に、MS-DOSしかしらない人に
UNIXのシェルで作れって言ったら似たような事になると思うよ。

763 名前:デフォルトの名無しさん mailto:sage [2012/03/07(水) 02:45:02.24 ]
ならんと思うよ。
man findとかちゃんと調べるもん



764 名前:デフォルトの名無しさん mailto:sage [2012/03/07(水) 02:53:36.94 ]
馬鹿は何やっても駄目だから諦めた方がいいよ

765 名前:デフォルトの名無しさん mailto:sage [2012/03/07(水) 03:03:25.28 ]
クレクレ君に答えを与えないでくださいw

766 名前:デフォルトの名無しさん mailto:sage [2012/03/07(水) 03:06:41.93 ]
やるんじゃなかったなw

767 名前:デフォルトの名無しさん mailto:sage [2012/03/07(水) 03:42:53.07 ]
>>729,734,736,739,741,744,746,752,754
幼稚園からやり直せ

768 名前:デフォルトの名無しさん mailto:sage [2012/03/07(水) 11:23:59.92 ]
ファイルの結合はcopyだろ
誰がtypeでDOSに文字をかけと言った

769 名前:デフォルトの名無しさん mailto:sage [2012/03/07(水) 16:33:17.37 ]
だってcatじゃん

770 名前:デフォルトの名無しさん mailto:sage [2012/03/07(水) 16:35:26.05 ]
便所の書き込みに何を言ってる

771 名前:デフォルトの名無しさん mailto:sage [2012/03/07(水) 16:38:23.60 ]
自演ならもう少し面白くやってくれくれくん

772 名前:デフォルトの名無しさん mailto:sage [2012/03/07(水) 16:45:22.53 ]
だったらDOSじゃなくてDOGだろ?

773 名前:デフォルトの名無しさん mailto:sage [2012/03/07(水) 18:08:10.27 ]
>>755
中学英語からやり直せw



774 名前:デフォルトの名無しさん mailto:sage [2012/03/07(水) 18:23:21.56 ]
for /r ディレクトリ %i in (test.txt) do type %i>>marge.txt

775 名前:デフォルトの名無しさん mailto:sage [2012/03/07(水) 18:31:08.06 ]
くそ!どいつもこいつもバカにしやがって!!!!!!!!!

776 名前:デフォルトの名無しさん mailto:sage [2012/03/07(水) 18:57:22.39 ]
真夜中に2ちゃんでレスの応酬ってw
しかもバッチスレw















出遅れたわw

777 名前:デフォルトの名無しさん mailto:sage [2012/03/07(水) 19:06:17.90 ]
遅延展開やねw

778 名前:デフォルトの名無しさん mailto:sage [2012/03/07(水) 19:38:22.80 ]
シフトワーカーはバッチがお好き

779 名前:デフォルトの名無しさん mailto:sage [2012/03/07(水) 20:48:16.79 ]
こういうのはどうかけますか?
Cドライブに存在する全てのgitフォルダが何個存在するかカウント

780 名前:デフォルトの名無しさん mailto:sage [2012/03/07(水) 21:08:57.30 ]
エクスプローラで検索したほうが早くないか

781 名前:デフォルトの名無しさん mailto:sage [2012/03/07(水) 21:44:47.11 ]
単純に検索するとゴミ箱の中まで漁る

782 名前:デフォルトの名無しさん mailto:sage [2012/03/08(木) 07:03:14.49 ]
cd /d c:\
dir /s /b /ad .git | find /v /c ""

783 名前:デフォルトの名無しさん mailto:sage [2012/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 名前:デフォルトの名無しさん mailto:sage [2012/03/08(木) 07:47:05.53 ]
>>782の訂正版
cd /d c:\
dir /s /b /ad git | find /v /c ""

785 名前:デフォルトの名無しさん mailto:sage [2012/03/08(木) 10:39:13.31 ]
>>783
ifの前に@を付けろ
>>781
for /r はゴミ箱の中まで検索してるな
名前が偶然に一致するなんて、まず無いだろうが

786 名前:デフォルトの名無しさん mailto:sage [2012/03/08(木) 10:51:38.35 ]
>>783
nxiってなに?

787 名前:デフォルトの名無しさん mailto:sage [2012/03/08(木) 11:19:32.20 ]
>>786
n
x
i
だけじゃないから、自分で調べろ

for /?

788 名前:デフォルトの名無しさん mailto:sage [2012/03/09(金) 07:11:46.74 ]
>>782の訂正版
dir /s /b /ad c:\git | find /v /c ""

これでワンライナーOKだった


789 名前:デフォルトの名無しさん mailto:sage [2012/03/09(金) 10:31:33.67 ]
>>784,>>788
それ、c:\git というフォルダがあったら
その中身しか検索しないよ

790 名前:デフォルトの名無しさん mailto:sage [2012/03/09(金) 11:28:30.28 ]
ここで出てきたテクニックをwikiにまとめていただけませんか?

791 名前:デフォルトの名無しさん mailto:sage [2012/03/09(金) 11:32:24.24 ]
いただけませんか?とか書きこんでる間にwikihouseかどっか借りてコピペしてけばいいだろ

792 名前:デフォルトの名無しさん mailto:sage [2012/03/09(金) 11:55:03.16 ]
えええ俺がwiki借りるの面倒くさいです

793 名前:デフォルトの名無しさん mailto:sage [2012/03/09(金) 12:50:20.55 ]
dir abc*
ってやると先頭がabcから始まるファイルがヒットすれば表示されますが
ファイルの途中にabcが存在するようなファイルもヒットさせる方法を伝授してください
xxxabcxxx.txt
abc.xxx.txt
xxx.abc.txt
とか
拡張子が無いファイルとか拡張子にabcが来ることは無いと考えていただいて結構です



794 名前:デフォルトの名無しさん mailto:sage [2012/03/09(金) 13:04:14.56 ]
dir *abc*

795 名前:デフォルトの名無しさん mailto:sage [2012/03/09(金) 15:40:42.38 ]
うそこくでねー

796 名前:デフォルトの名無しさん mailto:sage [2012/03/09(金) 15:49:29.44 ]
ほんとだ

797 名前:デフォルトの名無しさん mailto:sage [2012/03/09(金) 16:05:44.51 ]
以前はウソだった。最近のcmd.exeは可能。いつからウソじゃなくなったか知らない。

798 名前:デフォルトの名無しさん mailto:sage [2012/03/09(金) 16:14:51.52 ]
少なくともxpは本当。

799 名前:デフォルトの名無しさん mailto:sage [2012/03/09(金) 16:19:08.35 ]
今試したら、98SEでも行けた。
大昔(DOS2とかCP/Mとかの時代)はNGだったのは確かだが、
いつOKになったんだろ?

800 名前:デフォルトの名無しさん mailto:sage [2012/03/09(金) 16:29:00.75 ]
*abc* ぐらい試してから質問しろよ

801 名前:デフォルトの名無しさん mailto:sage [2012/03/09(金) 16:32:20.65 ]
試したら質問しないだろw

802 名前:デフォルトの名無しさん mailto:sage [2012/03/09(金) 16:38:06.29 ]
16bit DOSの場合は
dir *abc*.*

803 名前:デフォルトの名無しさん mailto:sage [2012/03/09(金) 17:55:31.57 ]
バッチファイルでも「最新の情報に更新」(F5キー)を使えますか?

デスクトップのファイルを定期的に別のフォルダに移すバッチファイルを書いたんですが、
ファイルが消えても更新するまでアイコンが残ってしまって・・・



804 名前:デフォルトの名無しさん mailto:sage [2012/03/09(金) 17:57:57.63 ]
ahk呼んでsendcontrolでもしたら

805 名前:デフォルトの名無しさん mailto:sage [2012/03/09(金) 17:58:23.49 ]
山口美江さんが亡くなった・・・
おまえらが急に老けたとか言うから

806 名前:デフォルトの名無しさん mailto:sage [2012/03/09(金) 17:58:43.96 ]
ごめん誤爆

807 名前:デフォルトの名無しさん mailto:sage [2012/03/09(金) 18:03:59.92 ]
>>803
ふつー残らんよ
でもどうしてっつーなら
createobject("shell.application").windows().item().refreah

808 名前:デフォルトの名無しさん mailto:sage [2012/03/09(金) 18:13:03.08 ]
バッチでクリップボードの文字列を引数として渡すことはできますか?


809 名前:デフォルトの名無しさん mailto:sage [2012/03/09(金) 18:23:21.58 ]
for /f %%i in ('〜') do echo %%i
ってこと?
'〜'に
cscript.exe 〜〜
mshta.exe 〜〜
powershell.exe 〜〜
ってすりゃいい どれでも得意なのでどぞ

810 名前:デフォルトの名無しさん mailto:sage [2012/03/09(金) 18:36:11.79 ]
C:\2012\以下のサブディレクトリも含む全てのファイルの更新履歴が
2012年2月1日0時0分0秒以降になっているものをリストアップするのはbatでできますか?

811 名前:デフォルトの名無しさん mailto:sage [2012/03/09(金) 18:38:05.77 ]
forfiles/?

812 名前:デフォルトの名無しさん mailto:sage [2012/03/09(金) 18:43:25.00 ]
Aフォルダに入っているファイルを
Bフォルダにバックアップしたいと考えてます
そこでBフォルダには入っていてAフォルダにないファイルを一覧にしたいのですが
どうやるのでしょうか?

813 名前:デフォルトの名無しさん mailto:sage [2012/03/09(金) 18:51:10.75 ]
for + if
または
dir + findstr



814 名前:デフォルトの名無しさん mailto:sage [2012/03/09(金) 19:43:18.94 ]
>>804
ありがとうございます
ごめんなさい、難しくてよくわかりません;;

>>807
ありがとうございます、教えてもらった方法でできました!
'createobject'は、内部コマンドまたは外部コマンド、
操作可能なプログラムまたはバッチ ファイルとして認識されていません。
と出るのですが、これはこれでいいんでしょうか?
WIN7を使っています。

815 名前:デフォルトの名無しさん mailto:sage [2012/03/09(金) 20:37:42.34 ]
正常

816 名前:デフォルトの名無しさん mailto:sage [2012/03/09(金) 20:41:47.70 ]
> refreah


817 名前:デフォルトの名無しさん mailto:sage [2012/03/09(金) 21:39:36.03 ]
> refresh.vbs

818 名前:デフォルトの名無しさん mailto:sage [2012/03/09(金) 22:07:54.59 ]
CSVファイルを読み込んで、ちょっとした処理をしたかったのだけど、
読み込む対象のファイル名に半角スペースが入っていた場合どうすればいい?

ここを参考にしたんだけど、
 ttp://vaindespair.blogspot.com/2009/04/blog-post_09.html
半角スペース入りのファイル名だとうまくいかないのです。


・・・と書いてて閃いたw
FOR /F "tokens=1,3 delims=," %%a IN ( 'type "hannkaku space irino file.csv"' ) DO (

819 名前:デフォルトの名無しさん mailto:sage [2012/03/09(金) 22:22:23.19 ]
FOR /F "usebackq tokens=1,3 delims=," %%a IN ( "hannkaku space irino file.csv" ) DO (
だよーん

820 名前:818 mailto:sage [2012/03/09(金) 22:29:58.17 ]
ありがとう!

821 名前:デフォルトの名無しさん mailto:sage [2012/03/09(金) 22:58:55.52 ]
forでcsvって難しくないか?
"abc,def","pqr","xyz"
ってなのがあったらモー駄目だろ?

822 名前:デフォルトの名無しさん mailto:sage [2012/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 名前:デフォルトの名無しさん mailto:sage [2012/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 名前:デフォルトの名無しさん mailto:sage [2012/03/10(土) 04:11:12.36 ]
findstrは?

825 名前: 忍法帖【Lv=14,xxxPT】 mailto:sage [2012/03/10(土) 20:05:58.09 ]
質問です。よろしくお願いします。
バッチファイル(あひゃ.bat)を優先度低で実行させるために
start /b /belownormal あひゃ.bat
と書かれているcmdファイルを作成し、それを実行させているのですが、
あひゃ.batが終了してもDos窓が閉じません。
終了後に自動で閉じるようにするにはどうしたら良いのでしょうか?

826 名前:デフォルトの名無しさん mailto:sage [2012/03/10(土) 20:10:47.82 ]
start /b /belownormal cmd /c あひゃ.bat


827 名前:デフォルトの名無しさん mailto:sage [2012/03/10(土) 20:31:41.10 ]
あひゃ.bat

echo %cmdcmdline%
を入れてみりゃ理由がわかる

828 名前:825 忍法帖【Lv=14,xxxPT】 mailto:sage [2012/03/10(土) 21:12:23.08 ]
早速のレス、感謝します。
>>826サンの方法で見事にDos窓が自動で閉じました。
>>827サンのとおりに実行したらなんとなく解ったような気がします。
cmd /k と cmd /c の違いですね。help startとかhelp cmdを読んでないのがバレバレ(;´∀`)

なんとなく思い込みでstartコマンドの/bオプション(ウインドウを作成しない)を付けたのですが、
実はコレ無くても良かったみたいです。(じ、実は/bオプションの意味もよく解っていないっ!(∀`*ゞ)
とにかく期待通りに動いたので満足です。
お二方ともありかとうございました。

829 名前:デフォルトの名無しさん mailto:sage [2012/03/10(土) 21:13:49.52 ]
batを起動しっぱなしにして
タスクマネージャのタスク名に指定した名前(例えばメモ帳を立ち上げて「無題 - メモ帳」など)が出たら
ログに書き込むというのはbatで出来ますか?

830 名前:デフォルトの名無しさん mailto:sage [2012/03/10(土) 21:18:31.36 ]
tasklist

831 名前:デフォルトの名無しさん mailto:sage [2012/03/10(土) 22:28:53.73 ]
wmic process get name

832 名前:デフォルトの名無しさん mailto:sage [2012/03/11(日) 14:15:58.30 ]
>>808
WSHと組み合わせないと無理だったはず

833 名前:818 mailto:sage [2012/03/11(日) 23:14:37.36 ]
>>821

そこまで本気なことをするには荷が重いものだと理解してます。
(できるかもしれないけど、数ヵ月or数年後の自分に理解ができない、と思うので)



834 名前:デフォルトの名無しさん mailto:sage [2012/03/12(月) 00:12:38.31 ]
>>808
clip.exeか類似ソフト使えば出来る

835 名前:デフォルトの名無しさん mailto:sage [2012/03/12(月) 04:15:25.41 ]
内蔵のclip.exeじゃだめだけどな

836 名前:デフォルトの名無しさん mailto:sage [2012/03/12(月) 06:41:41.28 ]
スレタイ(ry

837 名前:デフォルトの名無しさん mailto:sage [2012/03/12(月) 16:34:50.59 ]
>>832
WSHったってIE使ったりして大変だろ?
>>809
お勧めは?

838 名前:デフォルトの名無しさん mailto:sage [2012/03/12(月) 17:24:09.19 ]
>>837
> WSHったってIE使ったりして大変だろ?

ならば>>809のは全部同類だから「大変」だ

839 名前:デフォルトの名無しさん mailto:sage [2012/03/12(月) 18:01:20.27 ]
そうなのか?
簡単に書けるものってないのか?

840 名前:デフォルトの名無しさん mailto:sage [2012/03/12(月) 18:50:35.07 ]
powershellなら簡単よ

841 名前:デフォルトの名無しさん mailto:sage [2012/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 名前:デフォルトの名無しさん mailto:sage [2012/03/13(火) 02:24:40.37 ]
まあまあやね

843 名前:デフォルトの名無しさん mailto:sage [2012/03/13(火) 02:31:28.01 ]
及第点やね
powershell版もできたら満点や








[ 新着レスの取得/表示 (agate) ] / [ 携帯版 ]

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

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