[過去ログ] 【.cmd】 バッチファイルスクリプト %8 【.bat】 (1001レス)
1-

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
1
(1): 2011/09/13(火)01:20 AAS
拡張子が .cmd または .bat のバッチファイルのスクリプティング(プログラミング)に関わる
質問,テクニック(JScript,Perl等の埋め込みなど含む),関連情報のためのスレです。

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

【.cmd】 バッチファイルスクリプト %6 【.bat】
2chスレ:tech
【.cmd】 バッチファイルスクリプト %5 【.bat】
2chスレ:tech
【.cmd】 バッチファイルスクリプト %4 【.bat】
2chスレ:tech
【.cmd】 バッチファイルスクリプト %3 【.bat】
2chスレ:tech
【.cmd】 バッチファイルスクリプト %2 【.bat】
2chスレ:tech
【.cmd】 バッチファイルスクリプト %1 【.bat】
2chスレ:tech
902: 2012/03/24(土)03:18 AAS
夜中にコーヒー飲むと健康によくありませんよ
903
(3): 2012/03/24(土)06:04 AAS
うわ、恥ずかしい
subst _: %1 & subst #: %2 & subst $: %3
for /r _:\ %%i in (*) do (
if exist "#:%%~pxni" (
fc /b "%%~i" "#:%%~pxni" >nul
if not errorlevel 1 (
xcopy "%%~i" "$:%%~pi"
del "%%~i" "#:%%~pxni" )))
subst /d _: & subst /d #: & subst /d $:
904
(1): 2012/03/24(土)07:57 AAS
>>884
fc /bじゃなくてcompコマンドで比較するとテキストファイル以外の
バイナリファイルが正確にコンペアできないのでは?
905: 2012/03/24(土)08:17 AAS
>>903
xcopyは3つ目のドライブの空き容量不足
delは排他制御かかってる状態だと
コマンド失敗の危険があるからエラー処理が必要だよ
906: 2012/03/24(土)08:49 AAS
>>898
2chコピペすると付いてくる
行末のスペースが変数に付かない
907: 2012/03/24(土)09:18 AAS
>>904
コンペアできないサンプル プリーズ
908: 2012/03/24(土)09:44 AAS
compでの相違点の表示見ると既定では
オフセットもデータも16進数だよな
どう見てもバイナリ比較じゃね
909: 2012/03/24(土)10:45 AAS
Comp
http://technet.microsoft.com/ja-jp/library/cc756036(v=ws.10).aspx
910
(1): 2012/03/24(土)13:28 AAS
>>903

とってもありがとう。こんなに短いばっちふぁいるで出来るなんておどろきです。

ところで、同パス同名ファイルが存在した場合、ファイルサイズが同じ場合だけFCコマンドを実施させるようにしたいと思うのですが、
その場合、%%~zとかをつかうことになるのでしょうか。ちょっといまググって勉強中です。
911
(1): 2012/03/24(土)13:40 AAS
サイズ違いとか関係なしにFCに渡せばいいんじゃね。
というかファイル有無のチェックも不要なんじゃね。
ところで昔、FCって戻り値が無かったような気がするけど、
今は大丈夫なのかい?
912
(1): 2012/03/24(土)14:03 AAS
fc /b a.jpg b.jpg && echo 一致
でXP機でテストしてみたら一致するファイルの場合だけechoされるから戻り値はあるみたい
2K機以前の環境はもう無いので確認できず
913
(4): 2012/03/24(土)14:19 AAS
>>912
ああ、ちょっと俺の書き方が悪かったね。
おれのWin2kではFCの戻り値が

比較するファイルが無い場合 1
ファイルサイズが違う場合 1
同じファイルの場合 0
中身が違うがサイズの同じ場合 0

なんだよ
今は仕様が変わったのかい?
914: 2012/03/24(土)14:30 AAS
あ、ごめん
比較するファイルが無い場合 2
だった
915
(1): 2012/03/24(土)15:06 AAS
比較するファイルが無い   2
中身が違うがサイズは同じ 1
不一致             1
一致               0

XPとWin7
確認出来ないけど2Kが>>913の言う仕様なら使い物にならないですね
916: 2012/03/24(土)15:31 AAS
>>915
情報サンクス
仕様というよりバグかも
917: 2012/03/24(土)15:31 AAS
>>910
> %%~zとかをつかうことになるのでしょうか
その場合>>903のバッチだと #:%%~pnxi のファイルのサイズを取得出来ないから
一旦
call :sub "%%~fi" "#:%%~pnxi"
とcallしてサブルーチンで
:sub
if "%~z1"=="%~z2" (fc /b %1 %2 >nul)
とかかな

ファイルサイズが同じで中身が違うなんてことはありえるから
サイズの一致確認なんて必要ないと思うけど
更新したファイルは必ずサイズが変わるの?

>>911
> ファイル有無のチェックも不要なんじゃね
それはさすがに乱暴すぎだと思う
918: 2012/03/25(日)00:09 AAS
>>913
> おれのWin2kではFCの戻り値が
>
> 比較するファイルが無い場合 1
> ファイルサイズが違う場合 1
> 同じファイルの場合 0
> 中身が違うがサイズの同じ場合 0

自分の関わったWin2003で稼働するシステムで
fcのリターンコードで処理分岐してる機能があるんですが、
2003でも2000と同じ仕様(相違点はあるが同一サイズ)なら
潜在バグ発覚ですorz
919: 2012/03/25(日)00:53 AAS
仕様です
920
(1): 2012/03/25(日)09:43 AAS
>>913
もしかして/bオプション付けずにASCIIモードで比較していませんか?

Fc.exe] 正しく動作しませんでは、Windows XP で、コマンドが文字列の 128th バイトすべてを異なるファイルを比較するとき
http://support.microsoft.com/kb/953929/ja
921
(1): 2012/03/25(日)10:09 AAS
fc /b で試しましたよ
XP のバグは知らない
922
(1): 2012/03/25(日)10:46 AAS
>>920
win2kでもxpと同様のバグがあるようだ
xは128バイト、yはその最後のみを変えた物

>fc x y
FC: 相違点は検出されませんでした
ERRORLEVEL=0

>fc /b x y
0000007F: 61 62
ERRORLEVEL=0

でも>>913はこれとは無関係だよ
923: 2012/03/25(日)11:02 AAS
>>921-922
了解しました
2Kでの動作確認までして頂きありがとうございました

このバグは2003でも発生するのですが、2KとXPで戻り値の仕様変更があったということは
このバグもVistaや7では修正されているかもしれないですね
924: 2012/03/25(日)11:05 AAS
>>881
subst 愛: h:\
とかやったらExplorerで一覧に出ないどころかパス直打ちでも移動すら出来ねぇ。
エロ動画の隠し場所には使えそうにないな。
925: 2012/03/25(日)11:27 AAS
substは隠し場所には使えません
両方アクセスできるでしょ
926: 2012/03/26(月)06:37 AAS
comp使ったほうがいいのかな。
927: 2012/03/26(月)07:16 AAS
うん
928: 2012/03/27(火)02:03 AAS
擬似コード
for /r x:\xxx %i in (*) do for /f "delims=\ tokens=2*" %j in ("%i") do (
comp "%i" "y:\yyy\%k" && (
md "z:\zzz\%~dk"
move "%i" "z:\zzz\%k"
del "y:\yyy\%k"
))
929: 2012/03/27(火)02:41 AAS
substなしで1行でお願いします
930: 2012/03/27(火)03:38 AAS
改行とって&入れればええがな
931: 2012/03/27(火)03:40 AAS
それもできない?
932
(1): 2012/03/27(火)03:45 AAS
引数渡しでお願いします。
あとtokens=2*とか無しね。
階層数は任意で。
>>884みたいに。
933: 2012/03/27(火)04:00 AAS
それぐらいできない?
934: 2012/03/27(火)04:18 AAS
>>884よりこっちがいい
935: 2012/03/27(火)16:04 AAS
echo n|comp
するしかないのかい?うっとーしー仕様だこと
936
(1): 2012/03/27(火)20:01 AAS
>>932 これを繋げば1行で動くよ。あまり意味無いけどね

setlocal enabledelayedexpansion
set "a=%~f1"& for /l %%i in (2,1,1000) do (
if "!a:~%%i!" == "" (for /r "%~f1" %%j in (*) do (
set "b=%%~fj"& set "c=%%~dpj"& fc /b "%%~fj" "%~f2!b:~%%i!"&& (
md "%~f3!c:~%%i!"& move "%%~fj" "%~f3!b:~%%i!"& del "%~f2!b:~%%i!")))& exit)
937
(1): 2012/03/27(火)22:15 AAS
for /r %1 %%i in (*) do (
set "a=%%~i"
(echo n|call comp "%%i" "%%a:%~1=%~2%%") && (
call md "%%a:%~1=%~3%%\.."
call move "%i" "%~3%%a:%~1=%%"
call del "%%a:%~1=%~2%%"
))
938: 2012/03/28(水)02:25 AAS
パスの駄目文字
>>936 !
>>937 % =
939: 2012/03/28(水)04:53 AAS
バッチは駄目でしょ
940: 2012/03/28(水)05:19 AAS
工夫すればダメ文字を減らす事もできるけど、
そのために長いバッチを書くのもどうかと思うがね
941
(1): 2012/03/28(水)14:42 AAS
Win7のAdminでtitle fooってやると
管理者: foo
ってなってしまうんだけど管理者:がつかないようにする方法無いですか。
foo.lnkというショートカットから起動するとつかないんだけど動的に変えたいんです。
942: 2012/03/28(水)15:27 AAS
いまどきバッチファイル書いてるおとこの人って年収低そう。
943: 2012/03/28(水)16:25 AAS
年収ある奴はまだマシ
944: 営利利用に関するLR審議中@詳細は自治スレへ 2012/03/29(木)05:18 AAS
>>941
http://social.technet.microsoft.com/Forums/en-US/itprovistasecurity/thread/bb5755f2-73d5-47e8-8b5f-5f1d710580d7/
945: 営利利用に関するLR審議中@詳細は自治スレへ 2012/03/29(木)07:22 AAS
なるほどNECの人たちは年収低いのか
946: 営利利用に関するLR審議中@詳細は自治スレへ 2012/03/29(木)08:50 AAS
荒らすなカス
947: 営利利用に関するLR審議中@詳細は自治スレへ 2012/03/29(木)18:16 AAS
>foo.lnkというショートカットから起動するとつかないんだけど
いみふ
948: 営利利用に関するLR審議中@詳細は自治スレへ 2012/03/30(金)19:44 AAS
バッチを管理者として実行すれば付かないが?
949: 営利利用に関するLR審議中@詳細は自治スレへ 2012/03/30(金)21:16 AAS
cmd.exe.muiを編集するって方法があるみたいだが
管理者っていう語句そのものを消すって方法だからな…
950: 営利利用に関するLR審議中@詳細は自治スレへ 2012/03/31(土)07:54 AAS
runas
951: 営利利用に関するLR審議中@詳細は自治スレへ 2012/04/01(日)00:36 AAS
su
952
(2): 営利利用に関するLR審議中@詳細は自治スレへ 2012/04/07(土)00:31 AAS
こんばんは。
現在元ソース(抜き出し)の、ddsファイルをDTX1形式に変換して
元ファイルへ上書きするバッチファイルの改変を考えています。
下記の別のEXE用コマンドプロンプトをバッチファイルの形式で書き直すには
どのようにすればいいでしょうか?

<元ソース(抜き出し)>
::実行EXE
set Converter="C:\Program Files (x86)\Microsoft DirectX SDK (June 2010)\Utilities\bin\x64\DxTex.exe"
:: ログファイルのパス。
set Log=".\ToDxt1.log
:: カレントディレクトリ以下の DDS ファイルを対象とする。
for /r %%i in (*.dds) do call :sub1 %%i
goto end
: sub1
:: 変換の実行。
%Converter% "%*" DXT1 "%*"
echo %* を変換しました。
:: 変換したファイルをログに記録。
echo %*>> %Log%
echo;
goto sub1end
: sub1end
exit /b
953: 952 2012/04/07(土)00:32 AAS
<改変方針>
・単体テストの結果、実行EXE(DxTex.exe)が上手く動かなかったので、
 別のEXE(Texconv.exe)を用いる。
 記載方法は元の実行EXEと異なるが、EXEが上手く動いたことは確認済み。
<別のEXE用コマンドプロンプト>
Texconv c:\Users\test\aa.dds -f DXT1 -o c:Users\test\

※もう少し具体的に言いますと、EXEのTexconvで実行対象ファイルc:\Users\test\aa.ddsを取得して、
DXT1形式に変更し、実行対象ファイルのディレクトリに出力=上書きを行うのですが
、実行対象ファイルのディレクトリの取得方法と、バッチファイルのでの書き方がわかりません。
よろしくお願いします。
954: 営利利用に関するLR審議中@詳細は自治スレへ 2012/04/07(土)06:21 AAS
for /r %%i in (*.*) do call :sub1 "%%~i" "%%~dpi"
955: 952 2012/04/07(土)08:18 AAS
おはようございます。

ここに書き込みして、頭を整理して、ググッて試行錯誤したら
解決することが出来ました。

<変更箇所>
%Converter% "%*" DXT1 "%*"

<変更後>
%Converter% "%*" -f DXT1 -o %~dp1
※Converterは別のEXEを指定

こちらを利用させて頂きありがとうございます。
956
(1): 営利利用に関するLR審議中@詳細は自治スレへ 2012/04/09(月)19:16 AAS
こんにちわ、
質問させてください。

ex.1) set PATH="%~dp0;%PATH%"
ex.2) set PATH=%~dp0;%PATH%

どちらでもパスは通ります。
MS によると、パスにスペースが含まれている場合は、二重引用符で囲む必要があると云っています。
これは set PATH のみこういう仕様なのでしょうか?
もやもやしています…

参考: http://technet.microsoft.com/ja-jp/scriptcenter/ff576179
957: 営利利用に関するLR審議中@詳細は自治スレへ 2012/04/09(月)19:18 AAS
>>956 です
書き忘れてた;;

すいません、前置きに、%~dp0 のパスにスペースが含まれているとします。
958
(1): 営利利用に関するLR審議中@詳細は自治スレへ 2012/04/09(月)19:49 AAS
出鱈目だろ
本来は囲まないのが正しい
959
(1): 営利利用に関するLR審議中@詳細は自治スレへ 2012/04/09(月)20:06 AAS
"%~dp0";%PATH% の間違いじゃないの
960
(1): 営利利用に関するLR審議中@詳細は自治スレへ 2012/04/09(月)20:09 AAS
自分家でpath表示してみな
961: 営利利用に関するLR審議中@詳細は自治スレへ 2012/04/09(月)20:12 AAS
>>959

あ、そうです、
>>960
はい自分でやりました。

>>958
その情報聞いて何か、ほっとしました、 笑
神経質すぎますかね、

ありがとうございます。
962: 営利利用に関するLR審議中@詳細は自治スレへ 2012/04/10(火)16:49 AAS
echoするとわかるが、クォートで括られそう。
set "PATH=%~dp0;%PATH%"
ならば問題ないが。
963: 営利利用に関するLR審議中@詳細は自治スレへ 2012/04/10(火)17:40 AAS
おまえらpathコマンドも知らんのか?

path/?
964: 営利利用に関するLR審議中@詳細は自治スレへ 2012/04/10(火)18:34 AAS
それはリンク先に言え。

setでも構わんことは構わん
965: 営利利用に関するLR審議中@詳細は自治スレへ 2012/04/10(火)18:42 AAS
>echoするとわかるが、クォートで括られそう。

おまえpathコマンドも知らんのか?
966: 営利利用に関するLR審議中@詳細は自治スレへ 2012/04/10(火)19:00 AAS
おまえpathコマンドも知らんのか?
967: 営利利用に関するLR審議中@詳細は自治スレへ 2012/04/10(火)19:17 AAS
空白を含むパスは囲む必要はないが、;を含むパスは囲む必要があるな
968: 営利利用に関するLR審議中@詳細は自治スレへ 2012/04/10(火)21:43 AAS
空白が区切りのときは、空白を含むパスを囲む
;が区切りのときは、;を含むパスを囲む
これが当たり前
http://technet.microsoft.com/ja-jp/scriptcenter/ff576179
を書いた奴が間抜けなだけ
969: 営利利用に関するLR審議中@詳細は自治スレへ 2012/04/11(水)00:26 AAS
set Path = %Path%;"LocalDrive:\Program Files\Log Parser\"
とかホント酷いな
setコマンドで環境変数設定するには=の前後に空白を入れるなって
ライターは義務教育で習わなかったのかよ
970: 2012/04/13(金)03:16 AAS
翻訳なら翻訳ミスが考えられるが、日本語オリジナルみたいだし
971
(1): 2012/04/14(土)18:15 AAS
長文失礼します。

長時間のバッチを動かすのですが、
バッチ終了時にシャットダウン/休止/サスペンド/何もしないの各動作をさせたいです。
バッチが終了するまでに、これらの動作を予め選択しておきたい場合、
現在の選択状況が容易に把握できて、選択の設定が楽な方法を探しています。

WindowsXP上で動かすのですが、とりあえずの案としては、
デスクトップ上に適当な名前(例えば"xxバッチ終了時シャットダウン予約中"とか)のファイルを置いておき、
そのファイル名の有無で動作を決定するというものです。
他に何かよい方法がありましたらお願いします。

あと、シャットダウン/休止/サスペンドする場合に、
その動作を中止させるための猶予時間を設けたいのですが、
自分自身のコマンドプロンプト画面を最前面に持ってくる方法も探しています。

検索のしかたが悪いのか、いまいちピンと来るものが無くて困っております。
何でもよいので助言を…よろしくお願いします。
972
(1): 2012/04/14(土)19:44 AAS
>>971
選択の設定は誰がするの?
デスクトップだと消しちゃう可能性あるから
デスクトップにはスイッチ用と確認用のバッチ置いとくかなあ

猶予時間は標準のダイアログでいいんじゃないの
http://www.atmarkit.co.jp/fwin2k/win2ktips/697cmdpwcfg/cmdpwcfg.html
973
(1): 2012/04/14(土)20:24 AAS
shutdown/?
974: 2012/04/15(日)20:48 AAS
>>972
レスありがとうございました。すぐにレスできず、すみません。

> デスクトップだと消しちゃう可能性あるから
> デスクトップにはスイッチ用と確認用のバッチ置いとく
設定も私なのですが、たしかに間違えてゴミ箱へポイとかやりそうですよねw
そっちの方向でも考えてみます。提案をありがとうございました。

リンク先の記事は実は参照済みでして、シャットダウン時には使えますね。
休止もスタンバイも出来ると良かったのですが…

引き続き調べているのですが、シャットダウン・休止・スタンバイの猶予&中止については
vbscriptと連携させて、バッチが終了したらvbscript起動してダイアログを最前面で表示。
その中で、タイマ監視しつつ、中止ボタン押下待ちみたいなことで出来る気がしてきました。

シャットダウンは>>972-973氏紹介のコマンドで、
休止・スタンバイはSetSuspendStateというプログラムが使えそうです。

引き続き、助言をよろしくお願いします。
975: 2012/04/20(金)19:40 AAS
windowsのショートカットで
powershell c:\foo\hoge.ps1
としてpowershellスクリプトを実行するようにしています.
マウスでクリックするぶんには良いのですが
cmd.exeから.lnkを実行しようとしてもリンク先のファイルをクリックしたのと
同じあつかいになるみたいでノートパッドで開かれるだけです.
.lnkをクリックした時と同じように動作させるにはどうしたらよいでしょう?
976: 2012/04/20(金)20:01 AAS
http://blog.livedoor.jp/seec/archives/996252.html
こういうふうに作ったショートカットを
cmd.exeから使おうという話です
977: 2012/04/21(土)00:05 AAS
>cmd.exeから.lnkを実行しようとしてもリンク先のファイルをクリックしたのと
>同じあつかいになるみたいでノートパッドで開かれるだけです.

そんなはずがない
978
(1): 2012/04/21(土)00:23 AAS
psが起動しても関連づけされてなければ不明なファイルとしてnotepadで開くのは普通だろ
979: 2012/04/21(土)00:43 AAS
解決しました.すみません。
980: 2012/04/21(土)01:01 AAS
>>978
>windowsのショートカットで
>powershell c:\foo\hoge.ps1
>としてpowershellスクリプトを実行するようにしています.
よく読め
981
(1): 2012/04/21(土)01:02 AAS
>解決しました.すみません。
ほらみろ
982
(1): 2012/04/21(土)01:49 AAS
>よく読め
ほらみろ
983: 2012/04/21(土)02:04 AAS
>>981-982
外人の作ったやつはどうにもモンスター的な怖さが多くて・・・
やはり和製の方がジトっとくる感じの演出で好きよ?
984: 2012/04/21(土)02:33 AAS
>外人の作ったやつはどうにもモンスター的な怖さが多くて・・・
よく読め

>やはり和製の方がジトっとくる感じの演出で好きよ?
ほらみろ
985: 2012/04/21(土)11:44 AAS
ほらみろ
986: 2012/04/21(土)12:46 AAS
よく読め
987: 2012/04/21(土)16:28 AAS
かわいそうにそんなに痛いか?
988: 2012/04/21(土)17:06 AAS
>かわいそうにそんなに痛いか?
よく読め
989: 2012/04/21(土)18:14 AAS
あらますっかり壊れてるみたいねかわいそ杉
990: 2012/04/21(土)18:53 AAS
ほらよめ
991: 2012/04/21(土)19:06 AAS
ぺたぺた
992: 2012/04/21(土)19:24 AAS
>psが起動しても関連づけされてなければ不明なファイルとしてnotepadで開くのは普通だろ
993: 2012/04/21(土)19:32 AAS
>windowsのショートカットで
>powershell c:\foo\hoge.ps1
>としてpowershellスクリプトを実行するようにしています.
994: 2012/04/21(土)21:25 AAS
>psが起動しても関連づけされてなければ不明なファイルとしてnotepadで開くのは普通だろ
ほらよめ
>windowsのショートカットで
>powershell c:\foo\hoge.ps1
>としてpowershellスクリプトを実行するようにしています.
ぺたぺた
995: 2012/04/21(土)21:27 AAS
うめ
996: 2012/04/21(土)22:06 AAS
はずいので早く埋めたいのか?
997
(1): 【.cmd】 バッチファイルスクリプト %9 【.bat】 2012/04/21(土)22:35 AAS
拡張子が .cmd または .bat のバッチファイルのスクリプティング(プログラミング)に関わる
質問,テクニック(JScript,Perl等の埋め込みなど含む),関連情報のためのスレです。

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

【.cmd】 バッチファイルスクリプト %7 【.bat】
2chスレ:tech
【.cmd】 バッチファイルスクリプト %6 【.bat】
2chスレ:tech
【.cmd】 バッチファイルスクリプト %5 【.bat】
2chスレ:tech
【.cmd】 バッチファイルスクリプト %4 【.bat】
2chスレ:tech
【.cmd】 バッチファイルスクリプト %3 【.bat】
2chスレ:tech
【.cmd】 バッチファイルスクリプト %2 【.bat】
2chスレ:tech
【.cmd】 バッチファイルスクリプト %1 【.bat】
2chスレ:tech
998: 2012/04/21(土)22:36 AAS
>はずいので早く埋めたいのか?
ほらみろ
999: 997 2012/04/21(土)22:39 AAS
すれ立て間違えたw

【.cmd】 バッチファイルスクリプト %9 【.bat】
2chスレ:tech
1000: 2012/04/21(土)22:40 AAS
1000
1001: 1001 Over 1000 Thread AAS
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。
1-
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.139s*