質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.46%
Windows

Windowsは、マイクロソフト社が開発したオペレーティングシステムです。当初は、MS-DOSに変わるOSとして開発されました。 GUIを採用し、主にインテル系のCPUを搭載したコンピューターで動作します。Windows系OSのシェアは、90%を超えるといわれています。 パソコン用以外に、POSシステムやスマートフォンなどの携帯端末用、サーバ用のOSもあります。

Webサーバー

Webサーバーとは、HTTPリクエストに応じて、クライアントに情報を提供するシステムです。

バッチファイル

バッチファイル(Batch File)は、Windowsのコマンドラインインタープリターによって複数のコマンドを実行させる事が出来るスクリプトファイルです。

Q&A

解決済

2回答

1427閲覧

バッチのSETについて

k-teratail

総合スコア17

Windows

Windowsは、マイクロソフト社が開発したオペレーティングシステムです。当初は、MS-DOSに変わるOSとして開発されました。 GUIを採用し、主にインテル系のCPUを搭載したコンピューターで動作します。Windows系OSのシェアは、90%を超えるといわれています。 パソコン用以外に、POSシステムやスマートフォンなどの携帯端末用、サーバ用のOSもあります。

Webサーバー

Webサーバーとは、HTTPリクエストに応じて、クライアントに情報を提供するシステムです。

バッチファイル

バッチファイル(Batch File)は、Windowsのコマンドラインインタープリターによって複数のコマンドを実行させる事が出来るスクリプトファイルです。

0グッド

0クリップ

投稿2020/06/11 13:03

バッチのSETの記述でわからないところがあります。

SET WINSCP="C:~/WinSCP.com"
SET SCRIPT=/script=winscp.txt
SET LOG=/log=C:~/log.txt

SETは変数を代入するものだと認識しています。

SET SCRIPT=winscp.txt
↑この書き方であれば、テキストファイルをSCRIPTに代入しているのかなと思うのですが、
上記の『/script=』この部分はなにをしているのでしょうか?

SET LOG=C:~/log.txt
こちらも同様に、『/log=』この部分が何をしているのか教えていただきたいです。
よろしくお願いいたします。

もう一点、こちらの記述の内容も教えていただますでしょうか。
%WINSCP% %SCRIPT% %LOG% /parameter %1 %2

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

そのまま代入しているだけです。

SET SCRIPT=/script=winscp.txt SET LOG=/log=C:~/log.txt

これは、SCRIPTに"/script=winscp.txt"、LOGに"/log=C:~/log.txt" を代入しています。

これに代入した変数を展開すると、このようになります

%WINSCP% %SCRIPT% %LOG% /parameter %1 %2

"C:~/WinSCP.com" /script=winscp.txt /log=C:~/log.txt /parameter %1 %2

投稿2020/06/11 13:15

編集2020/06/11 13:19
yuki23

総合スコア1448

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

k-teratail

2020/06/11 13:48

ご回答ありがとうございます! /の部分から代入されていたのですね!=があったので惑わされていました。大変勉強になりました!
guest

0

ベストアンサー

SET SCRIPT=winscp.txt

↑この書き方であれば、テキストファイルをSCRIPTに代入しているのかなと思うのですが、

いいえ。違います。
変数にwinscp.txtという文字列を代入しています。

SET SCRIPT=/script=winscp.txt

上記の『/script=』この部分はなにをしているのでしょうか?

変数に/script=winscp.txtという文字列を代入しています。

こちらも同様に、『/log=』この部分が何をしているのか

同様に、変数に/log=C:~/log.txtという文字列を代入しています。

%WINSCP% %SCRIPT% %LOG% /parameter %1 %2

これらの変数を、代入している文字列に置き換えたコマンドを実行します。
%1 %2は、バッチファイルの引数に置き換えられます。

投稿2020/06/11 13:19

otn

総合スコア84729

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

k-teratail

2020/06/11 13:52

ご回答ありがとうございます! 文字列として代入されていたのですね! %1 %2 は引数になるのですね。教えていただいたことをふまえてもう一度コードを見てみます!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.46%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問