QA@IT
«回答へ戻る

シングルクォートについての補足を追記

5599
 
 に変えればいけるんじゃないかと思います。
 
+**補足**
+
+> `Gemfile`をシングルクォートで括ると失敗する理由が探しても見つけられませんでした。
+
+単純にコマンドプロンプトだとシングルクォートはつかえません。
+`_nya`ファイルを見つけるには `dir '_nya'` はだめですが `dir "_nya"` はOKです。
+で、`if exist ~` は もうDOSコマンドの領分だからダブルクォートじゃないのでみつけられないのかなと思ったまでです。
+
+と、ただの勘だったわけですが、 試してみたら `ls '_nya'`でもうまくいかないですね。
+古いドキュメントだとシングルクォート置換というのを見かけましたけど、3.3.8のnyaos_ja.txt にはシングルクォートに触れてませんし。
+わかりませんが、ひょっとして機能なくなったのかもしれませんね。
+
 ---
 
 > * commandの代替が見つからない
  • Gemfileが存在してもbundle execが適用されない

これはシングルクォートを使っているからだと思いますので

   if exist "Gemfile" then

に変えればいけるんじゃないかと思います。

補足

Gemfileをシングルクォートで括ると失敗する理由が探しても見つけられませんでした。

単純にコマンドプロンプトだとシングルクォートはつかえません。
_nyaファイルを見つけるには dir '_nya' はだめですが dir "_nya" はOKです。
で、if exist ~ は もうDOSコマンドの領分だからダブルクォートじゃないのでみつけられないのかなと思ったまでです。

と、ただの勘だったわけですが、 試してみたら ls '_nya'でもうまくいかないですね。
古いドキュメントだとシングルクォート置換というのを見かけましたけど、3.3.8のnyaos_ja.txt にはシングルクォートに触れてませんし。
わかりませんが、ひょっとして機能なくなったのかもしれませんね。


  • commandの代替が見つからない

ここで定義してるrake関数ではなくてrakeを使いたいという事ですよね
試していないですが
cmd /cを使って

    else
        cmd /c rake "%1"
    endif

としてみた場合はどうでしょうか。
nyaosにも /c オプションあるみたいですけどnyaos上からはなんだかうまくいきませんでした。

※ 新しいコマンドプロンプト開いてしまうので、環境変数あたりが上手くやり取りできないかもしれません。


  • 引数に"%*"を使うと無駄な空白が入ってしまい失敗する

これはちょっとわかりません。
ただ、先の cmd /c rake "%1" はもしかするとcmd /c rake %* の方がいいかもしれません(ダブルクォートなし)。

> * Gemfileが存在してもbundle execが適用されない

これはシングルクォートを使っているからだと思いますので

```shell
   if exist "Gemfile" then
```

に変えればいけるんじゃないかと思います。

**補足**

> `Gemfile`をシングルクォートで括ると失敗する理由が探しても見つけられませんでした。

単純にコマンドプロンプトだとシングルクォートはつかえません。
`_nya`ファイルを見つけるには `dir '_nya'` はだめですが `dir "_nya"` はOKです。
で、`if exist ~` は もうDOSコマンドの領分だからダブルクォートじゃないのでみつけられないのかなと思ったまでです。

と、ただの勘だったわけですが、 試してみたら `ls '_nya'`でもうまくいかないですね。
古いドキュメントだとシングルクォート置換というのを見かけましたけど、3.3.8のnyaos_ja.txt にはシングルクォートに触れてませんし。
わかりませんが、ひょっとして機能なくなったのかもしれませんね。

---

> * commandの代替が見つからない

ここで定義してるrake関数ではなくてrakeを使いたいという事ですよね
試していないですが
`cmd /c`を使って

```
    else
        cmd /c rake "%1"
    endif
```

としてみた場合はどうでしょうか。
nyaosにも `/c` オプションあるみたいですけどnyaos上からはなんだかうまくいきませんでした。

※ 新しいコマンドプロンプト開いてしまうので、環境変数あたりが上手くやり取りできないかもしれません。

---

> * 引数に"%*"を使うと無駄な空白が入ってしまい失敗する

これはちょっとわかりません。
ただ、先の `cmd /c rake "%1"` はもしかすると`cmd /c rake %*`  の方がいいかもしれません(ダブルクォートなし)。

5599
 としてみた場合はどうでしょうか。
 nyaosにも `/c` オプションあるみたいですけどnyaos上からはなんだかうまくいきませんでした。
 
+※ 新しいコマンドプロンプト開いてしまうので、環境変数あたりが上手くやり取りできないかもしれません。
+
 ---
 
 > * 引数に"%*"を使うと無駄な空白が入ってしまい失敗する
  • Gemfileが存在してもbundle execが適用されない

これはシングルクォートを使っているからだと思いますので

   if exist "Gemfile" then

に変えればいけるんじゃないかと思います。


  • commandの代替が見つからない

ここで定義してるrake関数ではなくてrakeを使いたいという事ですよね
試していないですが
cmd /cを使って

    else
        cmd /c rake "%1"
    endif

としてみた場合はどうでしょうか。
nyaosにも /c オプションあるみたいですけどnyaos上からはなんだかうまくいきませんでした。

※ 新しいコマンドプロンプト開いてしまうので、環境変数あたりが上手くやり取りできないかもしれません。


  • 引数に"%*"を使うと無駄な空白が入ってしまい失敗する

これはちょっとわかりません。
ただ、先の cmd /c rake "%1" はもしかするとcmd /c rake %* の方がいいかもしれません(ダブルクォートなし)。

> * Gemfileが存在してもbundle execが適用されない

これはシングルクォートを使っているからだと思いますので

```shell
   if exist "Gemfile" then
```

に変えればいけるんじゃないかと思います。

---

> * commandの代替が見つからない

ここで定義してるrake関数ではなくてrakeを使いたいという事ですよね
試していないですが
`cmd /c`を使って

```
    else
        cmd /c rake "%1"
    endif
```

としてみた場合はどうでしょうか。
nyaosにも `/c` オプションあるみたいですけどnyaos上からはなんだかうまくいきませんでした。

※ 新しいコマンドプロンプト開いてしまうので、環境変数あたりが上手くやり取りできないかもしれません。

---

> * 引数に"%*"を使うと無駄な空白が入ってしまい失敗する

これはちょっとわかりません。
ただ、先の `cmd /c rake "%1"` はもしかすると`cmd /c rake %*`  の方がいいかもしれません(ダブルクォートなし)。

回答を投稿

  • Gemfileが存在してもbundle execが適用されない

これはシングルクォートを使っているからだと思いますので

   if exist "Gemfile" then

に変えればいけるんじゃないかと思います。


  • commandの代替が見つからない

ここで定義してるrake関数ではなくてrakeを使いたいという事ですよね
試していないですが
cmd /cを使って

    else
        cmd /c rake "%1"
    endif

としてみた場合はどうでしょうか。
nyaosにも /c オプションあるみたいですけどnyaos上からはなんだかうまくいきませんでした。


  • 引数に"%*"を使うと無駄な空白が入ってしまい失敗する

これはちょっとわかりません。
ただ、先の cmd /c rake "%1" はもしかするとcmd /c rake %* の方がいいかもしれません(ダブルクォートなし)。

> * Gemfileが存在してもbundle execが適用されない

これはシングルクォートを使っているからだと思いますので

```shell
   if exist "Gemfile" then
```

に変えればいけるんじゃないかと思います。

---

> * commandの代替が見つからない

ここで定義してるrake関数ではなくてrakeを使いたいという事ですよね
試していないですが
`cmd /c`を使って

```
    else
        cmd /c rake "%1"
    endif
```

としてみた場合はどうでしょうか。
nyaosにも `/c` オプションあるみたいですけどnyaos上からはなんだかうまくいきませんでした。

---

> * 引数に"%*"を使うと無駄な空白が入ってしまい失敗する

これはちょっとわかりません。
ただ、先の `cmd /c rake "%1"` はもしかすると`cmd /c rake %*`  の方がいいかもしれません(ダブルクォートなし)。