[過去ログ]
【.cmd】 バッチファイルスクリプト %12 【.bat】©2ch.net (1002レス)
【.cmd】 バッチファイルスクリプト %12 【.bat】©2ch.net http://mevius.5ch.net/test/read.cgi/tech/1489207631/
上
下
前
次
1-
新
通常表示
512バイト分割
レス栞
このスレッドは過去ログ倉庫に格納されています。
次スレ検索
歴削→次スレ
栞削→次スレ
過去ログメニュー
553: デフォルトの名無しさん [sage] 2018/05/17(木) 17:16:28.81 ID:zVFG07SK >>550 @echo off set "arg1=%1" call :check_num arg1 result echo %result% & pause & goto :eof :check_num setlocal EnableDelayedExpansion set "b=FALSE" for /f "delims=0123456789 tokens=*" %%i in ("!%1!") do ( set "a=%%i" & if not defined a set "b=TRUE" ) :x endlocal & set "%2=%b%" goto :eof 引数に ; は指定できない(半角空白、カンマ、セミコロン、=は引数の区切りを示すため) なお、遅延環境変数の展開を使わないでも以下のようなチェックで最初に弾けば可能 if "%arg1:"=%" equ "%arg1:"=”%" (echo ^"なし) else echo ^"あり http://mevius.5ch.net/test/read.cgi/tech/1489207631/553
554: デフォルトの名無しさん [sage] 2018/05/17(木) 17:18:28.36 ID:zVFG07SK なお、+-は除くのが吉 +1+2-3 http://mevius.5ch.net/test/read.cgi/tech/1489207631/554
555: デフォルトの名無しさん [sage] 2018/05/17(木) 18:05:24.87 ID:TsNh8oQN >554.bat 1"&ab" 'ab""' は、内部コマンドまたは外部コマンド、 操作可能なプログラムまたはバッチ ファイルとして認識されていません。 TRUE http://mevius.5ch.net/test/read.cgi/tech/1489207631/555
556: デフォルトの名無しさん [sage] 2018/05/17(木) 21:22:44.52 ID:zVFG07SK >>555 これ以上はファイル渡しにすべきだろう set /p or for /f delimes^=^ tokens^=*^ eol^= http://mevius.5ch.net/test/read.cgi/tech/1489207631/556
557: デフォルトの名無しさん [sage] 2018/05/17(木) 21:53:53.10 ID:TsNh8oQN >>555 554.bat とあるが実際は >>553 のバッチ処理結果です バッチ2行目の set コマンドの、左側の " が悪さをしてる 当然、下にあるチェック文もそのままでは使えない 引数 1;2 は実際には2つに分かれるが これで TRUE を返すのは違和感あるので >>552 では FALSE を返している 2つの %* を %1 にすれば TRUE を返せる筈 http://mevius.5ch.net/test/read.cgi/tech/1489207631/557
558: デフォルトの名無しさん [sage] 2018/05/18(金) 12:57:02.82 ID:CQAI+hTy これが分からない https://social.technet.microsoft.com/Forums/ja-JP/610268b2-c3f7-4e4f-8aa2-9d32353804e4?forum=win10itprogeneralJP http://mevius.5ch.net/test/read.cgi/tech/1489207631/558
559: デフォルトの名無しさん [sage] 2018/05/18(金) 15:14:59.49 ID:nWqd9LPa for /f %%i in ('"cmd /k prompt $h <nul"') do set BS=%%i set /p AAA=".%BS% 必要ですか?(y/n):" http://mevius.5ch.net/test/read.cgi/tech/1489207631/559
560: デフォルトの名無しさん [] 2018/05/23(水) 19:31:22.87 ID:Au5e7VGg 僕の知り合いの知り合いができたパソコン一台でお金持ちになれるやり方 役に立つかもしれません グーグルで検索するといいかも『ネットで稼ぐ方法 モニアレフヌノ』 1FF18 http://mevius.5ch.net/test/read.cgi/tech/1489207631/560
561: デフォルトの名無しさん [sage] 2018/05/24(木) 10:48:33.72 ID:cPlRxlDn 1FF18 http://mevius.5ch.net/test/read.cgi/tech/1489207631/561
562: デフォルトの名無しさん [sage] 2018/06/10(日) 03:50:12.86 ID:TMZk6u5D バッチファイルと同じ階層に複数のテキストファイルがあって、 バッチファイルに次々とドラッグ&ドロップしたファイル名(拡張子含む)のみリスト化していくのは下記でできるのは分かったのですが… @echo off for %%f in (%*) do ( echo %%~nxf ) >> list.txt しかし、バッチファイルと同じ階層(別の階層でも良いですが)に複数フォルダがあり、各フォルダ内にテキストファイルが複数ある場合に、 フォルダをバッチファイルに1つ1つD&Dすることにより、そのフォルダ内のファイル名(拡張子)のみリスト化していくコマンドが分からず詰まっています。 /rを使わずにわざわざ1つずつD&Dするのは、単にファイル名の順番ではなく、リスト化を意図した順番にしたいからです。 どなたかお願いします。 http://mevius.5ch.net/test/read.cgi/tech/1489207631/562
563: デフォルトの名無しさん [sage] 2018/06/10(日) 16:08:13.36 ID:fV9CYqGb なんだって? http://mevius.5ch.net/test/read.cgi/tech/1489207631/563
564: デフォルトの名無しさん [sage] 2018/06/10(日) 19:14:45.63 ID:UcKh88So @echo off cd /d "%~1" for /r %%f in (*.txt) do ( echo %%~nxf ) >> "%~dp0list.txt" http://mevius.5ch.net/test/read.cgi/tech/1489207631/564
565: デフォルトの名無しさん [sage] 2018/06/10(日) 20:30:30.29 ID:T1x52eBJ まずは、 >リスト化を意図した順番 これを詳しく説明するところからだな http://mevius.5ch.net/test/read.cgi/tech/1489207631/565
566: 562 [sage] 2018/06/10(日) 20:59:39.63 ID:TMZk6u5D >>564 できました ありがとうございます! >>565 意図した順番というのは、D&Dした順番、という意味でした http://mevius.5ch.net/test/read.cgi/tech/1489207631/566
567: デフォルトの名無しさん [] 2018/07/04(水) 22:24:09.32 ID:gFgZc5FG GTD http://mevius.5ch.net/test/read.cgi/tech/1489207631/567
568: デフォルトの名無しさん [sage] 2018/07/05(木) 16:48:32.11 ID:AeL6VB/V GTD http://mevius.5ch.net/test/read.cgi/tech/1489207631/568
569: デフォルトの名無しさん [sage] 2018/07/08(日) 09:59:18.33 ID:48/+VLR1 ファイル名に半角スペースを含んで拡張子も一つじゃない複数のファイルをドロップしてファイルごとに処理したいんだけどどうfor書いたらいい? 今はこんな感じで書いてるんだけど半角スペースで切れちゃう for %%f in (%*) do ( echo "%%~nxf" ) http://mevius.5ch.net/test/read.cgi/tech/1489207631/569
570: デフォルトの名無しさん [sage] 2018/07/08(日) 17:55:51.22 ID:fq5YPvHI >>569 それで問題なさそうなんだけど、 どういう問題なのか分からないから詳しく現象を説明してくれ http://mevius.5ch.net/test/read.cgi/tech/1489207631/570
571: デフォルトの名無しさん [sage] 2018/07/08(日) 18:29:00.73 ID:48/+VLR1 >>570 ごめん半角じゃなくて全角スペースで切れてるみたいだ "aaa bbb.txt" こうなるはずがファイル一つドロップするだけで↓になる "aaa" "bbb.txt" http://mevius.5ch.net/test/read.cgi/tech/1489207631/571
572: デフォルトの名無しさん [sage] 2018/07/08(日) 19:34:33.35 ID:ayaOLpVg >>569 forじゃないけど、こんなんじゃあかんの? :loop echo %~nx1 shift if not "%~1"=="" goto :loop http://mevius.5ch.net/test/read.cgi/tech/1489207631/572
573: デフォルトの名無しさん [sage] 2018/07/08(日) 20:03:03.50 ID:noo5aK3K aaa bbb.txtとかa&b.txtみたいなのは%1等で受け取っても切れるね cmdの独特なコマンドラインパース処理が悪いともいえるし 半角スペース含まれてないのをいいことにD&D時にダブルクォートで囲わないOS側が悪いともいえるし困ったもんだな D&Dで処理するのはスクリプト言語使った方がいいかもしれん http://mevius.5ch.net/test/read.cgi/tech/1489207631/573
574: デフォルトの名無しさん [sage] 2018/07/08(日) 20:56:02.67 ID:O/180cHX いまだにスペース問題抱えてるとは思わないよな もう10数年以上前からあるのに http://mevius.5ch.net/test/read.cgi/tech/1489207631/574
575: デフォルトの名無しさん [sage] 2018/07/08(日) 20:57:49.35 ID:3ARFRdhF こういうの直すと互換性の問題でも起きるの? http://mevius.5ch.net/test/read.cgi/tech/1489207631/575
576: デフォルトの名無しさん [sage] 2018/07/08(日) 21:45:56.33 ID:PKG5RTYD >571 こうで良くないかなぁ?/d を使うパターン。 for /d %%f in (%*) do ( echo %%~nxf ) >>575 そういう仕様に依存している過去のコードの動作に影響が出るのさ。 そういうコードは今までずっと企業内で使われている。 作者不詳のまま… http://mevius.5ch.net/test/read.cgi/tech/1489207631/576
577: デフォルトの名無しさん [sage] 2018/07/08(日) 21:49:43.77 ID:PKG5RTYD ごめん、/d でも全角はアウトですた。 わけわからーん http://mevius.5ch.net/test/read.cgi/tech/1489207631/577
578: デフォルトの名無しさん [sage] 2018/07/08(日) 22:24:06.32 ID:vrRjc8/F 昔、どこかのサイトで似たようなの見たけど %* を加工して解決しようとしてたが 数十行もあったようなw でも、俺が動作確認したら全然ダメだったし http://mevius.5ch.net/test/read.cgi/tech/1489207631/578
579: デフォルトの名無しさん [sage] 2018/07/08(日) 22:50:01.23 ID:E+arm29j >>571 Windows 10 Home 1803 だけど全角空白も & も>>569で問題なく処理できるよ http://mevius.5ch.net/test/read.cgi/tech/1489207631/579
580: デフォルトの名無しさん [sage] 2018/07/08(日) 22:57:56.95 ID:vrRjc8/F >>579 引数はフルパスだからな フォルダ名に半角スペースあるだろ http://mevius.5ch.net/test/read.cgi/tech/1489207631/580
581: デフォルトの名無しさん [sage] 2018/07/08(日) 23:16:12.53 ID:dDjh6KF7 >>569 for の代わりに forfiles を使うと ""付きファイル名なのでうまくいく(たぶん) http://mevius.5ch.net/test/read.cgi/tech/1489207631/581
582: デフォルトの名無しさん [sage] 2018/07/08(日) 23:36:45.60 ID:U6QPmMsx >>569 全角スペースを文字として扱うか、半角スペースと同じように扱うかについて、 cmdは中途半端な扱いをしているようだしな。 フルパスに半角スペースがあると、全角スペースは文字として扱われるが、 フルパスに半角スペースがないと、全角スペースは半角スペースと同じ扱いになる。 しかもクォートしただけでは対処できないという困ったことに。 対処方法としては、フルパスの何処かに半角スペースを入れてクォートするだけ。 http://mevius.5ch.net/test/read.cgi/tech/1489207631/582
メモ帳
(0/65535文字)
上
下
前
次
1-
新
書
関
写
板
覧
索
設
栞
歴
あと 420 レスあります
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.011s