set /a X=1, 1 を「Potato」と等しくするにはどうすればよいでしょうか?

set /a X=1, 1 を「Potato」と等しくするにはどうすればよいでしょうか?

私がこれを質問しているのは、それが重要な情報だからとかではなく、単に退屈したときにバッチ スクリプトでプログラミングするのが好きで、乱雑なコンピューターで検索する代わりに、私の生活が少し楽になるように、アプリを開いてくれる「パーソナル アシスタント」を作りたかっただけです。

/c MF /m /n 男性または女性の選択肢を含めて、友人に送信して使用してもらいたかったのですが、%gender% が M または F ではなく 0 値を取得するため、適切に機能しないようです。

set /p を使用しようとしましたが、set を使用して数字の代わりに単語を使用する方法があるかどうかを知りたいです。ありがとうございます!

(必要な場合に備えて、私が書いたものをここに示します。これを勉強した人にとっては単純または簡単に見えるかもしれませんが、私は趣味で初心者の「プログラマー」としてこれをやっているだけです)

echo Username
set /p username=
echo.
echo.
echo.
echo Gender
choice /c 12 /m /n 1: Male, 2: Female
if %errorlevel%==1 (set /a gender=1)
if %errorlevel%==2 /set /a gender=2)
echo.
echo.
echo.
echo Thanks, we will start to create a profile for you...
timeout /t 2 /nobreak >nul
cls
echo Creating profile...
cls
echo Please, insert the name the filesaves will have.
set /p savefile=
timeout /t 1 /nobreak >nul
cls
echo ----------------------------
echo Starting up...
(
echo %username%
)>%savefile%user.sgf
echo %username%
echo ----------------------------
timeout /t 2 /nobreak >nul
echo 50%
timeout /t 1 /nobreak >nul
(
echo %gender%
)>%savefile%gender.sgf
echo %gender%
echo ----------------------------

答え1

OK.. OK.. 分かりました。あなたは学んでいます(それは本当に素晴らしいことです)

  • 複数の構文エラーを修正しました。私があなたと違う点を確認してください。
  • 「1/2」から「男性/女性」に移行するのに有効な方法 set /aです。数学のためだけに
  • これらすべての括弧は必要ありません。
  • バッチで変数を評価するときは、常に両辺を引用符で囲みます。if "bob"=="%myname%" echo Meh namez bob. 何らかの理由で変数が空の場合、バッチ ファイルは警告を表示して終了します。

これをさらに良くする方法がいくつかあります!

  • 使用%UserProfile%\SomeDangDir「保存ファイル」用です。現時点では、現在のディレクトリがある場所にドロップされます。
  • 性別、ユーザー名、その他すべてを同じファイルに入れて、それを再び取り出す方法を見つけてください。これは 100 通りの方法があり、難しい課題です。

`

@echo off
SetLocal

echo Input Username:
set /p username=

echo.
echo Input Gender
choice /c 12 /m "1: Male, 2: Female"

if "%errorlevel%"=="1" (set gender=male) else (set gender=female)

echo.
echo.
echo username=%username%
echo gender=%gender%
echo Thanks, we will start to create a profile for you...

timeout /t 2 /nobreak >nul
cls

echo Creating profile...
timeout /t 1 /nobreak >nul
cls

echo Please, insert the name the filesaves will have:
set /p savefile=

cls
echo ----------------------------
echo Starting up...
echo %username%>%savefile%user.sgf
echo %username%
echo ----------------------------
timeout /t 2 /nobreak >nul
echo 50%

timeout /t 1 /nobreak >nul
echo %gender%>%savefile%gender.sgf
echo %gender%
echo ----------------------------

EndLocal

幸運を! :)

関連情報