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


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

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



1 名前:デフォルトの名無しさん mailto:sage [2018/11/21(水) 14:52:07.84 ID:v84I4o+L.net]
拡張子が .cmd または .bat のバッチファイルのスクリプティング(プログラミング)に関わる
質問,テクニック(JScript,Perl等の埋め込みなど含む),関連情報のためのスレです。

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

それ以前の過去スレ
%10 peace.2ch.net/test/read.cgi/tech/1374205515/
%9  toro.2ch.net/test/read.cgi/tech/1335015478/
%8  toro.2ch.net/test/read.cgi/tech/1315844420/
%7  hibari.2ch.net/test/read.cgi/tech/1298873550/
%6  hibari.2ch.net/test/read.cgi/tech/1277465356/
%5  pc12.2ch.net/test/read.cgi/tech/1242268171/
%4  pc12.2ch.net/test/read.cgi/tech/1229955189/
%3  pc11.2ch.net/test/read.cgi/tech/1217860043/
%2  pc12.2ch.net/test/read.cgi/tech/1197881068/
%1  pc11.2ch.net/test/read.cgi/tech/1178281991/

175 名前:デフォルトの名無しさん mailto:sage [2019/04/17(水) 19:24:10.99 ID:SVkPhkuc.net]
>>169
>>171
みなさんありがとうございます
助かりました

176 名前:デフォルトの名無しさん mailto:sage [2019/04/17(水) 21:07:05.52 ID:3cAVwUGz.net]
複数ファイルドロップするなら shift でループが簡単だと思うけど何か落とし穴ある?

177 名前:デフォルトの名無しさん mailto:sage [2019/04/18(木) 19:59:48.99 ID:pUSpmyse.net]
ファイルドロップで落とし穴があるとしたら >>45 みたいな引数の時
>>48 を参考にすると

@echo off
set "a=%cmdcmdline:"=*%"
set "a=%a:~0,-1%" & set "e="
set "c=" & for /f "tokens=2* delims=*" %%i in ("%a%") do set "c=%%j"
:x
set "a=" & for /f "tokens=*" %%i in ("%c%") do set "a=%%i"
if "%a:~0,1%"=="*" (set "d=*") else set "d= "
set "b=" & set "c="
for /f "tokens=1* delims=%d%" %%i in ("%a%") do set "b=%%i" & set "c=%%j"
if defined b set e=%e% "%b%" & goto x
for %%i in (%e%) do attrib +r %%i

でもこれファイルドロップでしか使えない

178 名前:デフォルトの名無しさん [2019/04/19(金) 16:41:41.89 ID:nzBF9sby.net]
batのコマンドのタイトルバーに
「管理者: 」
の表示を消すこと出来ないのでしょうか?

179 名前:デフォルトの名無しさん mailto:sage [2019/04/19(金) 17:41:11.03 ID:HG96JCXu.net]
muiファイルいじるしかなかったような

180 名前:デフォルトの名無しさん mailto:sage [2019/04/19(金) 18:58:50.77 ID:FmrBk+Vp.net]
スレチと怒られそうだが

--- change_wnd_title.uws ------
DEF_DLL SetWindowTextA(HWND, STRING):BOOL:user32.DLL
DIM old_title = PARAM_STR[0]
DIM new_title = PARAM_STR[1]
DIM idwnd = GETID(old_title)
IFB -1<idwnd THEN
SetWindowTextA(IDTOHND(idwnd), new_title)
ENDIF
---------

C:\UWSC\UWSC.exe C:\TEST\change_wnd_title.uws "管理者: test" "ABC"
を管理者権限で実行
「管理者:」 と「test」 の間にスペースが2つある点に注意

べつにWin32apiが使えればほかのスクリプトでもいいが
すでに配布が終了している(?)UWSCをすすめるのは
とてもにコンパクトで気軽に試しやすいため
以下のレスにあるDL先は公式リンク
使うのはFree版でよい
egg.2ch.net/test/read.cgi/software/1533818531/3

181 名前:デフォルトの名無しさん mailto:sage [2019/04/19(金) 21:14:57.50 ID:5yrPogsy.net]
>>175
例えば d:\hoge\a.bat を実行するなら

ショートカットの新規作成でコマンドは
cmd /c start "ABC" /d "d:\hoge" a.bat
ショートカットのプロパティで
実行時の大きさは「最小化」
詳細設定で「管理者として実行」

このショートカットを実行すると
a.bat が管理者として実行されて
タイトルは ABC のみになる

182 名前:デフォルトの名無しさん mailto:sage [2019/04/19(金) 21:49:09.78 ID:5yrPogsy.net]
>>178
念のため書いておくが
バッチの中で
title xxx
と書くと「管理者:xxx」
となるので台無し
バッチの title コマンドは消せ
それが出来ないなら俺は知らん

183 名前:デフォルトの名無しさん mailto:sage [2019/04/19(金) 23:47:56.76 ID:UTkV4PFm.net]
あのさ
もう設計書はあるからバッチ作ってって言われて設計書見たんだが
「%0\..\xxx\yyy.batをコールする」とか書かれてて腰折れそうなんだけど…



184 名前:デフォルトの名無しさん mailto:sage [2019/04/20(土) 00:03:36.64 ID:oEi+Bse9.net]
やりたい事が書いてあるかどうかだな
設計書作る手間で自分でかけとも思うけど 

外注なら設計書から作りましょうねと諭して工数確保だな

185 名前:デフォルトの名無しさん mailto:sage [2019/04/20(土) 00:08:13.21 ID:vpsjY4OY.net]
>>181
まあやりたい事分かるからこっちで直して
これでいいですよね?って聞くつもりだけど
細かく書いといて間違えてるのやめてほしい…

186 名前:デフォルトの名無しさん mailto:sage [2019/04/20(土) 03:49:52.33 ID:C+CxU9Uj.net]
>>175
隠しておかないと、悪いことしてるのがばれちゃうもんな

187 名前:179 mailto:sage [2019/04/20(土) 04:50:04.97 ID:HO8cTApa.net]
たぶん>>121の奴だろ
胡散臭い

188 名前:デフォルトの名無しさん mailto:sage [2019/04/21(日) 00:17:28.92 ID:Aqd0ZKZB.net]
forfilesは遅いこと
フォルダのファイル数が多いと極端に遅くなる

189 名前:デフォルトの名無しさん mailto:sage [2019/04/27(土) 20:18:12.49 ID:SEUESNkj.net]
>>174
exit で終了しないと不味いな…

190 名前:デフォルトの名無しさん mailto:sage [2019/05/07(火) 09:53:38.49 ID:3q/iti6Z.net]
バッチとは違うけど、Microsoftさまの新しいターミナルアプリ「Windows Terminal」
https://forest.watch.impress.co.jp/docs/news/1183011.html

期待しても良いのかしら

191 名前:デフォルトの名無しさん mailto:sage [2019/05/08(水) 22:44:07.08 ID:6yW2addd.net]
>>187
windows10のみだと俺は使えないや []
[ここ壊れてます]

193 名前:デフォルトの名無しさん mailto:sage [2019/05/08(水) 22:45:41.01 ID:o7I87B0d.net]
>>188
そりゃMacやLinuxでも使えるようにする性格のアプリではないだろ



194 名前:デフォルトの名無しさん mailto:sage [2019/05/08(水) 23:18:47.67 ID:6yW2addd.net]
>>189
どういう意味なのかな?
俺が読んだかぎりではwindows10のみと判断したんだが

195 名前:デフォルトの名無しさん mailto:sage [2019/05/08(水) 23:59:34.57 ID:PAJNmCOy.net]
>>190
MacやLinuxで使えないから嫌だってお前は言ってるんだよ

196 名前:デフォルトの名無しさん mailto:sage [2019/05/09(木) 00:09:50.10 ID:Q5GOiLDw.net]
build 10.0.18362.0以上でVS2017必要みたいね
Win8とかじゃ使えない

197 名前:デフォルトの名無しさん mailto:sage [2019/05/09(木) 00:35:06.30 ID:e/QFUb7b.net]
win7/8.1は切捨てか
さすがMS

198 名前:デフォルトの名無しさん mailto:sage [2019/05/09(木) 00:47:39.20 ID:W7EsCFlC.net]
>>193
サポート終了って言ってるんだから当たり前じゃね?

199 名前:デフォルトの名無しさん mailto:sage [2019/05/18(土) 02:08:44.94 ID:5JVQU2Kx.net]
スレチかもなのですが、「コアを吐く」ってどういう意味なのでしょうか?

200 名前:デフォルトの名無しさん mailto:sage [2019/05/18(土) 02:12:53.15 ID:ChT5ZnKi.net]
コアダンプのことじゃね

201 名前:デフォルトの名無しさん mailto:sage [2019/05/19(日) 00:27:10.87 ID:p20+5ZYI.net]
Win10で、.(ドット)から始まる4文字以上のフォルダを再帰的に削除したいのですがうまくいきません

for /d /r %%d in (.????*) do rmdir /s /q "%%d"

フォルダ名をスペースおきに書くと削除できますがワイルドカードを使って処理できないものでしょうか

202 名前:デフォルトの名無しさん mailto:sage [2019/05/19(日) 11:10:45.58 ID:TZwQ5fCi.net]
for /f %%d in ('dir /s /b ^| findstr \\\.....') do rmdir /s /q "%%d"
とか?

203 名前:デフォルトの名無しさん mailto:sage [2019/05/19(日) 11:21:46.43 ID:TZwQ5fCi.net]
>>198
dir /s /b /ad だった



204 名前:デフォルトの名無しさん mailto:sage [2019/05/19(日) 11:40:23.60 ID:C4jenAHt.net]
>>197

for /d /r %%i in (.*) do set "a=%%~fi" & call :x "%%a%%"
pause & goto :eof
:x
set "b=%~nx1"
if not "%b:~4,1%"=="" rd /s /q %1

205 名前:197 mailto:sage [2019/05/19(日) 12:35:02.55 ID:p20+5ZYI.net]
>>198-199
>>200
ありがとうございます!

rmdirをechoに置き換えて確認してみましたところ、>>200 様ではフォルダ名を取得できませんでした
>>198-199 様で対象にしたいフォルダ名を取得できましたのでこちらを使わせていただきます
ありがとうございました

206 名前:デフォルトの名無しさん mailto:sage [2019/05/19(日) 13:00:03.54 ID:C4jenAHt.net]
>>201
なにを言ってるのか意味不明だな?
>>200 の rd を echo rd に変えたのなら問題ないだろ

>>198 を使うなら /f "delims=" にしろよ?
あと、>>198 だと \.12\abc とかも消えるぞ

207 名前:デフォルトの名無しさん mailto:sage [2019/05/19(日) 13:23:52.91 ID:C4jenAHt.net]
分かった
隠し属性かよ

208 名前:デフォルトの名無しさん mailto:sage [2019/05/20(月) 07:05:59.13 ID:/nt8UTBS.net]
for /f "delims=" %%i in ('dir/adh/s/b .*') do (
set "a=%%~nxi" & call set "a=%%a:~4,1%%"
if defined a if exist "%%i" rd/s/q "%%i")

209 名前:デフォルトの名無しさん mailto:sage [2019/05/26(日) 10:45:56.66 ID:nyCVecKy.net]
7-Zipスレからこちらに誘導されてきました

バッチファイルを実行して
指定したフォルダを7z圧縮し別の指定した場所へ保存する方法教えてください

210 名前:デフォルトの名無しさん mailto:sage [2019/05/26(日) 10:55:25.50 ID:QHGhwB6i.net]
>>205
7-zipのコマンドラインオプションみましたか?

211 名前:デフォルトの名無しさん mailto:sage [2019/05/26(日) 11:03:44.74 ID:nyCVecKy.net]
>>206
見ていません

212 名前:デフォルトの名無しさん mailto:sage [2019/05/26(日) 11:10:19.45 ID:nyCVecKy.net]
>>206
今見ています

213 名前:デフォルトの名無しさん mailto:sage [2019/05/26(日) 17:24:55.92 ID:iePtiDR/.net]
>>205
7-Zip のパスは自分の環境に合わせる

@echo off
path C:\WINDOWS\system32;C:\WINDOWS;
path C:\Program Files (x86)\7-zip;%path%
set /p i=圧縮するフォルダのフルパス=
set "i=%i:"=%"
set /p o=書庫を作成するフォルダのフルパス=
set "o=%o:"=%"
set /p n=書庫名(拡張子なし)=
for %%A in ("%i%") do set "d=%%~nxA" & cd /d "%%~dpA"
7z a "%o%\%n%.7z" "%d%"
pause



214 名前:デフォルトの名無しさん mailto:sage [2019/05/26(日) 18:42:28.21 ID: ]
[ここ壊れてます]

215 名前:nyCVecKy.net mailto: >>209
ありがとうございます

@echo off
path C:\WINDOWS\system32;C:\WINDOWS;
path C:\Program Files\7-Zip;%path%
set /p i=Z:\TE=
set "i=%i:"=%"
set /p o=Z:\zz=
set "o=%o:"=%"
set /p n=a=
for %%A in ("%i%") do set "d=%%~nxA" & cd /d "%%~dpA"
7z a "%o%\%n%.7z" "%d%"
pause

7-Zip のパス
C:\Program Files\7-Zip

ZドライブTEフォルダを圧縮
Zドライブzzフォルダに作成
書庫名aにしてみましたが動作しませんでした
誤った箇所ありますでしょうか
[]
[ここ壊れてます]

216 名前:デフォルトの名無しさん mailto:sage [2019/05/26(日) 19:22:25.25 ID:4n4gfKEy.net]
>>210
書き換えないといけないのは7zipのパスのところだけであとのところはいじっちゃだめ
なので↓をメモ帳に貼り付けて適当な名前のbatファイルに保存が正解

@echo off
path C:\WINDOWS\system32;C:\WINDOWS;
path C:\Program Files\7-Zip;%path%
set /p i=圧縮するフォルダのフルパス=
set "i=%i:"=%"
set /p o=書庫を作成するフォルダのフルパス=
set "o=%o:"=%"
set /p n=書庫名(拡張子なし)=
for %%A in ("%i%") do set "d=%%~nxA" & cd /d "%%~dpA"
7z a "%o%\%n%.7z" "%d%"
pause

217 名前:デフォルトの名無しさん mailto:sage [2019/05/26(日) 19:28:03.67 ID:iePtiDR/.net]
>>210
コンソール入力するのが嫌なら
set i=Z:\TE
set o=Z:\zz
set n=a

218 名前:デフォルトの名無しさん mailto:sage [2019/05/26(日) 19:35:30.91 ID:nyCVecKy.net]
>>211
>>212
これでできました

@echo off
path C:\WINDOWS\system32;C:\WINDOWS;
path C:\Program Files\7-Zip;%path%
set i=Z:\TE
set o=Z:\zz
set n=a
for %%A in ("%i%") do set "d=%%~nxA" & cd /d "%%~dpA"
7z a "%o%\%n%.7z" "%d%"
pause

自分のような者に教えていただきありがとうございました

219 名前:デフォルトの名無しさん mailto:sage [2019/05/30(木) 23:24:33.44 ID:D3n586fF.net]
CMDの画面でこういうのを入力して実行したら
FOR /L %I IN (1,1,20) DO @CALL ECHO %I
画面の上のタイトルに文字が
うじゃうじゃ出て来るのはなぜ?

220 名前:デフォルトの名無しさん mailto:sage [2019/06/01(土) 22:51:37.17 ID:cR7U/Ve2.net]
最近の発見
remの前に空白をおける

: でラベルを示すが、:の前後に複数の空白、タブ、全角空白があってもよい
: タブ abc

またラベルの後の空白以降の文字列は無視するのでコメントを書ける
: abc エラーの場合

まあ、あまり使うところないけど

221 名前:デフォルトの名無しさん mailto:sage [2019/06/02(日) 00:30:45.28 ID:0ZBCelud.net]
最後のは割と便利そうだけど
現場だとコメントはREM使えっていうコーディング規約に阻まれそうだw

222 名前:デフォルトの名無しさん mailto:sage [2019/06/02(日) 03:07:05.57 ID:rFF/uYB6.net]
>>214
そもそも call の引数はバッチファイル名かラベルだ。
それ以外の、内部コマンドや外部コマンドじゃない。
そんな使い方、help のどこにも書いてない。
一見、正常に動作している様に見えるが、
内部では子プロセスが異常終了している。
だからタイトル名に子プロセスの残骸が残る。

call set なども動作はするが邪道。

223 名前:デフォルトの名無しさん mailto:sage [2019/06/04(火) 23:08:45.76 ID:YyzuHNes.net]
>>215
REM は「コマンド」だから前に空白が置ける。それは当然として。

ラベルをコメント代わりに使うのは止めとけ。
for や if コマンドの中で「インテンドを使って」コメントに使おうとすると弾かれる。
大人はバッチのコメントは REM で書くものだ。

Intel のドライバーインストーラーのバッチは奇麗だと思うぞ。



224 名前:デフォルトの名無しさん mailto:sage [2019/06/09(日) 19:33:03.04 ID:ESLww06V.net]
変数のサイズの最大値って何バイトなんだろう

@echo off
setlocal enabledelayedexpansion
set "a=x"
for /L %%i in (1,1,12) do set "a=!a!!a!"
set "b=x"
for /L %%i in (1,1,13) do set "b=!b!!b!"
if !a!==!b! (echo "a=b") else echo "a<b"
pause

結果は
"a=b"

225 名前:デフォルトの名無しさん mailto:sage [2019/06/09(日) 20:37:25.93 ID:ESLww06V.net]
>>219
8187 バイトかな?
半端な値だな...

226 名前:デフォルトの名無しさん mailto:sage [2019/06/10(月) 07:14:20.96 ID:24zpPZFc.net]
https://www.atmarkit.co.jp/ait/articles/1510/30/news041.html
内部的には1つの変数当たり最大32767文字
コマンドプロンプトの入力行は最大で8190文字
システム環境変数やユーザー環境変数の最大値は約2000文字(setxコマンドでは最大1024文字)

@echo off &setlocal
set a=x
set b=x
set /a i=2
:LOOP
set a=%a%x
echo %i%
if not %a%==%b% (
set b=%a%
set /a i+=1
goto :LOOP
)
pause
速くて正確ではないけど4093

227 名前:くらいで落ちた
コマンドの制限に掛かるみたいやね
[]
[ここ壊れてます]

228 名前:デフォルトの名無しさん mailto:sage [2019/06/10(月) 07:46:35.61 ID:acT05/Jv.net]
>>221
ありがとう、参考にします
1行当たり8190文字がネックだね

229 名前:デフォルトの名無しさん mailto:sage [2019/06/10(月) 15:28:36.17 ID:q9TwxOtc.net]
>>221
こういうのって統一して何バイトって決めないとやばくないのかな
windowsバージョン、英語、日本語、ヒンズー語など言語で微妙に変化すると、
おかしなことがおきたり、ウィルスの侵入口に利用される

230 名前:デフォルトの名無しさん mailto:sage [2019/06/10(月) 18:52:33.54 ID:acT05/Jv.net]
遅延展開では変数名1文字なら値は8189文字まで。半角全角は無関係。
変数名が1文字増えると値の最大値は1文字減る
set "a=!b!" の様に二重引用符で囲むと最大値は2文字減る
遅延じゃないと a=%b% 以外のコマンドラインの文字数分が更に減る
変数 a が5000文字の場合
if %a%==%a% echo ng は落ちるが
if !a!==!a! echo ok は落ちない

231 名前:デフォルトの名無しさん mailto:sage [2019/06/10(月) 18:58:22.71 ID:OlE51f/u.net]
>>223
そもそもそんなギリギリまで使う方がおかしい
あとウィルスとかのセキュリティの話はまた別の話

232 名前:デフォルトの名無しさん mailto:sage [2019/06/10(月) 19:19:36.75 ID:acT05/Jv.net]
cmdは既に穴だらけなんで

233 名前:デフォルトの名無しさん mailto:sage [2019/06/10(月) 20:08:18.95 ID:8z0TGIdq.net]
穴だらけなのかもしれないが、外部に開いた穴は無いんで
悪用されるにはその前に侵入を許してしまってる必用がある
まあ侵入されたあとにコマンドプロンプトを使うようなウィルスはあるかは知らないけど



234 名前:デフォルトの名無しさん mailto:sage [2019/06/11(火) 05:43:03.21 ID:mwwG6pNT.net]
ワンラインで8kか
フルパス200文字位のファイルを40個D&Dしたらもうパンクか
ヘタレ過ぎる

235 名前:デフォルトの名無しさん mailto:sage [2019/06/11(火) 16:08:50.98 ID:AKGG1UAL.net]
初心者故説明不足でしたらご指摘ください。
調べてもわからなく、ご教示いただけないでしょうか。

やりたいこと
Windowsアップデートのインストール一覧のうち
2019年分のみ抽出したい。

やったこと
一覧を取得するコマンドで情報をテキストファイルに出力。
その後findstrで2019分のみを抽出しようとしたけど
抽出出来なかった。

実行コマンド
Windowsアップデート一覧取得
wmic qfe get InstalledOn,HotFixID > aaa.txt

抽出コマンド
findstr "2019" aaa.txt

抽出コマンド実行後、結果が帰って来ませんでした。
なぜ結果が帰って来ないのかが全くわかりません。
どうか、対処法をご教示いただけないでしょうか。

236 名前:デフォルトの名無しさん mailto:sage [2019/06/11(火) 16:21:50.48 ID:mwwG6pNT.net]
ユニコードだからじゃない?
type aaa.txt > aaa1.txt
aaa1.txt でやってみろ

237 名前:デフォルトの名無しさん mailto:sage [2019/06/11(火) 16:30:25.48 ID:SBjduyI+.net]
wmicはリダイレクトするとUTF16LEになるから
230みたいに文字コード変換するか、パイプで
wmic qfe get InstalledOn,HotFixID | findstr /n "2019"

238 名前:デフォルトの名無しさん mailto:sage [2019/06/11(火) 16:31:56.22 ID:SBjduyI+.net]
あ、/n付けちゃったけどまぁいいか

239 名前:デフォルトの名無しさん mailto:sage [2019/06/11(火) 16:53:09.70 ID:AKGG1UAL.net]
>>230
>>231
ご教示頂きましてありがとうございます!
文字コードは盲点でした。もっと勉強します。
教えて頂いたコマンドで自身の望む結果が帰って来ました。
ありがとうございます!

240 名前:デフォルトの名無しさん mailto:sage [2019/06/13(木) 10:13:44.37 ID:P3O2UGUp.net]
Explorerから「送る」SendTo で使うバッチの中の pushd "%~dp1" が失敗するケースて有り得る?
送るから使うって事はアクセス出来てるはずなので失敗する事はないと思うんだけど
pushd "%~dp1"||exit とか失敗した場合の処理書いといた方が良いのかな

241 名前:デフォルトの名無しさん mailto:sage [2019/06/13(木) 12:37:34.91 ID:qazE1A0w.net]
>>234
パスの中に全角スペースが入っていて半角スペースが入ってない場合なんかは失敗するんじゃないかな

242 名前:デフォルトの名無しさん mailto:sage [2019/06/13(木) 14:43:51. ]
[ここ壊れてます]

243 名前:05 ID:rRFcU9uI.net mailto: >>234
フルパスに半角スペースが無くて、それ以外の文字で区切られた場合、
区切られた位置が親フォルダだったら、
さらにその親に移動するだけで、エラーにもならない
[]
[ここ壊れてます]



244 名前:デフォルトの名無しさん mailto:sage [2019/06/13(木) 14:50:46.43 ID:P3O2UGUp.net]
>>235
その問題、失念してた。ありがとう
パスに半角スペースが無くて、全角sp" "、コロン","、セミコロン";"、ハット"^"、イコール"=" の何れかが有る時だね
半角sp有る無し関係なく引数全部""括るようにすれば良いのにまだこの問題残ってたんだね
意図しない動作ではあるものの最初にデリミタ文字を含むフォルダの親フォルダにカレント移動して pushd 自体は成功する
pushd が失敗する事例を知っていたら教えて欲しい
この問題は対応面倒なのでパスに半角スペースを含めるようにして対処するよ

245 名前:デフォルトの名無しさん mailto:sage [2019/06/13(木) 15:04:31.95 ID:rRFcU9uI.net]
引数いくつか知らんが pushd "%~dp2" は失敗するだろ。
引数1個限定なら %2 が有れば exit するとか。
あるいは >>48 を参考に

246 名前:234 mailto:sage [2019/06/13(木) 16:36:42.36 ID:P3O2UGUp.net]
送るから使う前提で
pushd "%~dp1"||エラー処理
のエラー処理を書く意味あるかな?てのが聞きたかった事なんだ
まあおまじない的にpause&exitしとくよ。ありがとう

247 名前:デフォルトの名無しさん mailto:sage [2019/06/13(木) 17:10:58.72 ID:rRFcU9uI.net]
引数全部で
if "%~dp1"=="%~dp2"
if "%~dp1"=="%~dp3"
if "%~dp1"=="%~dp4"
とか確認すりゃ問題ない

248 名前:デフォルトの名無しさん mailto:sage [2019/06/13(木) 17:24:03.99 ID:rRFcU9uI.net]
>>240
でもファイル名使うとダメだな

249 名前:デフォルトの名無しさん mailto:sage [2019/06/14(金) 15:25:04.04 ID:/ScwnRxc.net]
誰もツッコミ無しか
SendTo とか D&D は何もしなくても自動的に
送り側のディレクトリに移動するんだが

250 名前:デフォルトの名無しさん mailto:sage [2019/06/14(金) 15:52:59.01 ID:/ScwnRxc.net]
SendTo にバッチ本体じゃなくて
ショートカットを入れたのかね
でもプロパティの作業フォルダを空にすればいい
怪しげな引数を利用するよりマシだろ

251 名前:デフォルトの名無しさん [2019/06/15(土) 09:44:04.71 ID:wrdBniJb.net]
7-ZIPの 7za.exe でワイルドカード使ったときにサブフォルダを除外するにはどうしたらいいでしょうか?
-r-を付けてもなぜか効かないんですが

7za.exe a XXX.zip -r- *

252 名前:デフォルトの名無しさん mailto:sage [2019/06/15(土) 12:34:19.95 ID:/kIGVJHV.net]
>>244
7zaは経験ないが7zと同じだろう
引数に*としたらサブディレクトリも含む
サブディレクトリを指定したら、それ以下の全部を含む
そこでスイッチは関係ない
ファイルだけ圧縮したいなら

@echo off
path C:\Program Files\7-Zip;C:\WINDOWS\system32;C:\WINDOWS;
if exist archive.7z del archive.7z
set a=
setlocal enabledelayedexpansion
for %%i in (*) do set a=!a! "%%i"
7z a archive.7z !a%!
pause

253 名前:デフォルトの名無しさん mailto:sage [2019/06/15(土) 12:36:06.42 ID:/kIGVJHV.net]
ああ、すまん
.zip に置き換えて



254 名前:デフォルトの名無しさん mailto:sage [2019/06/15(土) 13:27:41.74 ID:/kIGVJHV.net]
>>245はファイル名に!^があると誤動作するので

@echo off
path C:\Program Files\7-Zip;C:\WINDOWS\system32;C:\WINDOWS;
if exist XXX.zip del XXX.zip
for %%i in (*) do 7za a XXX.zip "%%i"
pause

にした方がいいかもね
ちなみにInfo-ZIPのzip.exeでは
zip XXX.zip *
だけでいいが空のサブディレクトリを作成する

255 名前:デフォルトの名無しさん mailto:sage [2019/06/17(月) 08:25:16.99 ID:gSWoSWwj.net]
.commandでターミナルを開いてpython3 /hoge/test.pyを入力、エンターを送信してpyファイルを実行したいのですがご教授ください。m(_ _)m

echo python3 /hoge/test.pyとするとターミナルに入力はされるのですが、pythonが実行されません。

ちなみに.batでは、
cd C:\hoge\
cmd /k python test.py
でpythonを実行する事ができました。

.commandで同じ事をするにはどうすればいいでしょうか?

256 名前:デフォルトの名無しさん mailto:sage [2019/06/17(月) 13:48:44.19 ID:gSWoSWwj.net]
248です
解決しました。m(_ _)m

echoなんか付けずに

python3 /hoge/test.py
でpythonが実行できました。ありがとうございます。

257 名前:デフォルトの名無しさん mailto:sage [2019/06/17(月) 18:30:49.93 ID:/bUEZ7B5.net]
バッチファイルからbeep音を出す

echo ^G >

258 名前:beep.bat
^G は コントロールキーとG

beep.batを実行すると音は出るが、エラーも出るので
type beep.bat
のほうがよい

beep.bat 2>nul
でエラーは消えるはずだが、なぜか音も出ないことがある

こういう基本コマンドがなぜかない
[]
[ここ壊れてます]

259 名前:デフォルトの名無しさん mailto:sage [2019/06/17(月) 21:28:51.00 ID:KEFOQI4b.net]
>>250
beep.bat
でエラーが出るのは当然

beep.bat の中身は 「あ」 と一文字書いてあるのと同じようなものだから
コマンドになってない

だから
echo ^G> beep.dat
echo type beep.txt> beep.bat

とするか

echo @echo ^G> beep.bat
とすれば

beep.bat実行でエラーは出ない

ちなみに@echoとしてechoの頭に@をつける理由は
そうしないと、
実行コマンドが表示される時点で一回音が鳴り
echo が実行されることによって音が鳴るので
結果として2回音が鳴ることになるため

260 名前:デフォルトの名無しさん mailto:sage [2019/06/17(月) 22:13:21.14 ID:KEFOQI4b.net]
無料のエディタでも制御文字を扱えるものがあるので
そういったものを使うと便利かと思います

たとえばNotepad++では制御文字を表示することができます
https://www.howtonote.jp/notepadplusplus/install/index10.html
入力は編集-文字コード表から

サクラエディタは制御文字を入力できるのに表示する方法はわかりませんでした
(自分はユーザではなく詳しくないので実際はあるのかもしれない)
sakura-editor.sourceforge.net/htmlhelp/HLP000255.html

261 名前:デフォルトの名無しさん mailto:sage [2019/06/17(月) 22:46:13.03 ID:kzHmUXK8.net]
トリッキーだが、コントロールコードを直接書かないで実現することもできるね
ここの過去ログ%11にあったけど
for /f "delims=0" %%I in ('cmd /u /c echo 〇') do set BEL=%%I
echo %BEL%

262 名前:デフォルトの名無しさん mailto:sage [2019/06/17(月) 23:09:42.80 ID:+j+1wiRe.net]
バッチにバイナリエディタで入力したら
どんな値でも変数に代入出来るのかな?

263 名前:デフォルトの名無しさん mailto:sage [2019/06/17(月) 23:10:40.48 ID:KEFOQI4b.net]
>>251
訂正
誤:echo type beep.txt> beep.bat
正:echo type beep.dat> beep.bat



264 名前:デフォルトの名無しさん mailto:sage [2019/06/18(火) 17:34:44.10 ID:eep67jJ0.net]
cls|choice 1>nul 2>nul

265 名前:デフォルトの名無しさん mailto:sage [2019/06/18(火) 19:33:08.53 ID:KnqBLmEX.net]
>>251
なるほど、どっちもありですね

echo ^G> beep.dat
echo type beep.dat> beep.bat

echo @echo ^G> beep.bat
@echo のこんな使い方は初めて見た、知らなかったです

266 名前:デフォルトの名無しさん mailto:sage [2019/06/23(日) 06:51:19.02 ID:dygsK1bo.net]
Windows Terminal早速試せるみたい。

Microsoft’s new Windows Terminal now available to download for Windows 10 - The Verge
https://www.theverge.com/2019/6/22/18701365/microsoft-windows-terminal-10-download-store-features

267 名前:デフォルトの名無しさん mailto:sage [2019/06/23(日) 12:23:35.72 ID:Lc+3aX4/.net]
>>258 そこに書いてある

Microsoftはまた、Linux用のWindows Subsystem(WSL)の
パフォーマンスを向上させるために、
完全なLinuxカーネルをWindows 10に搭載することに取り組んでいます。

こっちの方が気になるなあ

268 名前:デフォルトの名無しさん mailto:sage [2019/06/23(日) 12:41:20.55 ID:8sWJbccc.net]
WSL2でしょ

269 名前:デフォルトの名無しさん mailto:sage [2019/06/25(火) 00:46:23.52 ID:6j3DQJ1O.net]
Windows7からWindows10に変えたら、IME単語登録用ソフトのIMECが動かない。
神は死んだ・・・

270 名前:デフォルトの名無しさん mailto:sage [2019/06/25(火) 19:20:48.71 ID:sBqqHKRF.net]
chcp 65001
if "hoge"=="hoge" (
echo あああ
echo いいい
)
pause

上みたいなbatをUTF-8で保存して実行すると
'o' is not recognized as an internal or external command,
と言われてエラーになるんですが何故ですか?

271 名前:デフォルトの名無しさん mailto:sage [2019/06/25(火) 19:23:12.67 ID:sBqqHKRF.net]


272 名前:echoの前に半角スペース3つです []
[ここ壊れてます]

273 名前:デフォルトの名無しさん mailto:sage [2019/06/25(火) 19:52:58.06 ID:O4gheXA8.net]
良く分からんが >>258 の奴でやると
もしかしたら上手くいくかもね



274 名前:デフォルトの名無しさん mailto:sage [2019/06/25(火) 19:58:43.79 ID:O4gheXA8.net]
chcp 65001
if "hoge"=="hoge" (
echo あああ& rem
echo いいい
)
pause

275 名前:デフォルトの名無しさん mailto:sage [2019/06/25(火) 20:17:53.34 ID:O4gheXA8.net]
行末が非asciiだと不味いようだ






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

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

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