【.cmd】 バッチファイルスクリプト %15 【.bat】 (773レス)
【.cmd】 バッチファイルスクリプト %15 【.bat】 http://mevius.5ch.net/test/read.cgi/tech/1663153441/
上
下
前次
1-
新
通常表示
512バイト分割
レス栞
抽出解除
レス栞
リロード規制
です。10分ほどで解除するので、
他のブラウザ
へ避難してください。
645: デフォルトの名無しさん [sage] 2024/12/19(木) 18:24:35.68 ID:9yUs11tl set /pコマンドに空欄のままエンターを押すと強制終了してしまうのですがどうしたらいいでしょうか set InputPath=%InputPath:"=% をコメントアウトすれば空欄での強制終了は回避できるのですが 今度は""で括られたパスを入力すると強制終了してしまいます @echo off set /p InputPath= set InputPath=%InputPath:"=% if "%InputPath%"=="" ( set msg=空欄だよ ) else if exist "%InputPath%\" ( set msg=フォルダだよ ) else if exist "%InputPath%" ( set msg=ファイルだよ ) else ( set msg=不明だよ ) echo %msg% pause http://mevius.5ch.net/test/read.cgi/tech/1663153441/645
646: デフォルトの名無しさん [sage] 2024/12/20(金) 00:11:16.18 ID:TH9BF58b >>645 これでbatそのまま?(処理を抜き出したもので元々はループさせたりしてない?) またpuaseを付けるところを見るにダブルクリックとかで実行? コマンドプロンプトで複数回実行したりしてない? まあ説明すると 入力でそのままエンターすると変数にヌル文字が入るわけじゃなくて変数の入力自体をしない つまり、以前に定義されてた値があればそれがそのまま入ったままだし 未定義なら未定義のままとなる ループさせるとかなら変数の初期化をするのがいい set InputPath= (これでInputPathは未定義となる) if not defiend InputPath echo msg=空欄だよ まあ未定義なら if "%InputPath%"=="" ( set msg=空欄だよ のままでちゃんと「空欄だよ」となるはずだから直す必要は無いけど それと set InputPath=%InputPath:"=% → set "InputPath=%InputPath:"=%" としないと、入力に a&b などと入れられると問題となる http://mevius.5ch.net/test/read.cgi/tech/1663153441/646
647: 645 [sage] 2024/12/20(金) 01:08:13.42 ID:byrLY/tu >>646 助言ありがとうございます set InputPath="" を @echo off 直下に追加したところ希望通りの結果が得られました 助かりました! ちなみにダブルクリックで1回だけ実行しループ処理は入れてません。貼った構文が全てです http://mevius.5ch.net/test/read.cgi/tech/1663153441/647
メモ帳
(0/65535文字)
上
下
前次
1-
新
書
関
写
板
覧
索
設
栞
歴
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.045s