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

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

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

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

PowerShell

Windows PowerShellはコマンドラインインターフェースであり、システム管理を含むWindowsタスク自動化のためのスクリプト言語です。

Q&A

解決済

2回答

306閲覧

Powershellのコード

退会済みユーザー

退会済みユーザー

総合スコア0

Windows

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

PowerShell

Windows PowerShellはコマンドラインインターフェースであり、システム管理を含むWindowsタスク自動化のためのスクリプト言語です。

0グッド

0クリップ

投稿2019/05/25 22:55

編集2019/05/25 23:41

下記のサンプルコードは、何をやっているのでしょう?

PS1

11..10 | % {mkdir $_ -Force ; 1..100 > "$_.txt"; > 1..100 > "$_/$_.txt"}

10個のフォルダを作成し、
1から100までを10個のテキストファイルに書き込み
1..100 > "$/$.txt"の処理が分かりません。

どなたかご教授ください。

実際に動かしてみましたが、下記のエラーが出てしまいます。

> : 用語 '>' は、コマンドレット、関数、スクリプト ファイル、または操作可能なプログラムの名前として認識されません。名前 が正しく記述されていることを確認し、パスが含まれている場合はそのパスが正しいことを確認してから、再試行してください。 発生場所 行:1 文字:49 + 1..10 | % {mkdir $_ -Force ; 1..100 > "$_.txt"; > 1..100 > "$_/$_.txt ... + ~ + CategoryInfo : ObjectNotFound: (>:String) [], CommandNotFoundException + FullyQualifiedErrorId : CommandNotFoundException

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

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

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

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

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

Zuishin

2019/05/25 23:54

意味がわかりません。何をしたいのか書き直してください。
退会済みユーザー

退会済みユーザー

2019/05/26 00:02

まず、1..100 > "$_/$_.txt"の処理は、何をやっているのか。 エラーとなってしまっていますが、どこがどのように間違っているのかが、さっぱり分かりません。 (上記コードは、本のサンプルコードです)
Zuishin

2019/05/26 00:03 編集

だから、何もやっていません。エラーを起こしているだけです。本の通りなら本が間違っています。 実際には何をしたいのかを人に伝わるよう書いてください。
Zuishin

2019/05/26 00:09

「1 + ○ と書いたのですがエラーになります。どうしたらいいですか?」という質問の場合、どうなったら正解なのかがわからないので答えられません。 「1 + ○の答えが 1 になるはずなのですが」なら、○と 0 を間違えているのだろうと見当がつきます。
退会済みユーザー

退会済みユーザー

2019/05/26 00:11

Powershell実践ガイドブックP388に記載されているサンプルスクリプトで ディレクトリとファイルを作成するスクリプトです。
Zuishin

2019/05/26 00:12

本を買って読めと?
退会済みユーザー

退会済みユーザー

2019/05/26 00:14

下記の様にすれば、当然、10個のディレクトリが作成され、10個のファイルが作成されるとともに、 テキストファイル内に1~100までの数値が書き込まれています。 1..10 | % {mkdir $_ -Force ; 1..100 > "$_.txt"}
Zuishin

2019/05/26 00:16

続けてください。
Zuishin

2019/05/26 00:20

説明を続けてください。
Zuishin

2019/05/26 04:15 編集

終わりですか? もしこれで説明が終わりだとしたら、「間違っていて何もできないコード」が正解になると思いますが。 もちろん、本を写し間違っている場合はその限りではありません。
Bull

2019/05/26 05:38 編集

私もその本を使って PowerShell の勉強中です。 出版社とも著者とも何の関係もありませんが、間違った情報が残ってしまうのは余り良くないと思うので、サンプルについて修正します。 正しいスクリプトは 1..10 | ForEach-Object {mkdir $_ -Force; 1..1000 > "$_.txt"; 1..1000 >"$_/$_.txt"} ですね。 私の持っているのは初版第1刷で、その後修正された可能性も否定できませんが、もう一度間違っていないが確認してみて下さい。 実行すると10個のファイルと10個のフォルダー(中に1個のファイル)ができますね。
退会済みユーザー

退会済みユーザー

2019/05/26 06:51

>Bullさん 「>」が一つ多かったですね。 10個のファイルと10個のフォルダー(中に1個のファイル)を作成するのであれば、 1..10 | % {mkdir $_ -Force ; 1..100 > "$_.txt"}だけでも実現できると思うのですが、 >"$_/$_.txt"は何を処理しているのかわかりますでしょうか?
Bull

2019/05/26 07:07

私も勉強中の身ですが、それだとフォルダーの中にさらにファイルを作成することができなんじゃないかと。
Zuishin

2019/05/26 07:19

ファイルをつくる階層が違います。その文を取ったものと入れたもので実行して比べたらわかります。
退会済みユーザー

退会済みユーザー

2019/05/26 07:30

>Bullさん 1..10 | ForEach-Object {mkdir $_ -Force; 1..1000 > "$_.txt"; 1..1000 >"$_/$_.txt"} のスクリプトブロックの中身ですが、 mkdir $_ -Forceで10個のフォルダを作り 1..1000 > "$_.txt"で10個のファイルに1~1000まで書き込みを行い "$_/$_.txt"で・・・??ここがよくわからないのですが、ここで作成した10個のフォルダの中に10個のファイルを入れているということでしょうか?
Zuishin

2019/05/26 07:31

その文を取ったものと入れたもので実行して比べたらわかります。
退会済みユーザー

退会済みユーザー

2019/05/26 07:35

1..10 | ForEach-Object {mkdir $_ -Force; 1..1000 > "$_.txt"}だけだと、実行したフォルダに 10個のフォルダと、10個のファイルが作成されます。 1..10 | ForEach-Object {mkdir $_ -Force; 1..1000 > "$_.txt"; 1..1000 >"$_/$_.txt"}だと、 実行したフォルダに10個のフォルダと、10個のファイルが作成され、さらに作成したフォルダ内に10個のファイルが作成されている。
Zuishin

2019/05/26 07:38

結果の違っているところがコードの変更部分のしていることです。
退会済みユーザー

退会済みユーザー

2019/05/26 07:41

ようやく理解できました。「/」は、一階層下(作成したディレクトリの中)に作成するために 記載してあったのですね。
Zuishin

2019/05/26 08:00

そうですね。それをパス区切り文字と言います。Windows ではバックスラッシュ(フォントによっては円マーク)が使われ、その他の OS ではスラッシュが使われることが多いです。 書籍に載ってるコードには解説がついているはずなので、それを読み、実際に実行して試すようにしてください。
stknohg

2019/05/27 02:29

著者ではありませんが、その本の制作にレビュアーとして携わったものです。 内容についてはすでに解決されている様に書籍の内容の転記ミスかと。 Bullさんの > 私の持っているのは初版第1刷で、その後修正された可能性も否定できませんが、もう一度間違っていないが確認してみて下さい。 について、こちらの部分は 1..10 | ForEach-Object {mkdir $_ -Force; 1..1000 > "$_.txt"; 1..1000 >"$_/$_.txt"} で変わっていないことを補記しておきます。
guest

回答2

0

ベストアンサー

間違っているので何もできません。

投稿2019/05/25 23:22

Zuishin

総合スコア28660

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

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

退会済みユーザー

退会済みユーザー

2019/06/03 07:49

Zuishin←コイツ https://teratail.com/questions/192606 ↑Zuishinの本性、発言内容。コイツが修正しない限り、コメントが残っている事だろう。修正しない限りは。 コイツは、「電話してやる、ビビってるのか?」などと私を煽り、ネットでしかイキがれないクズなのだが、いざ私が電話番号を教えてやったら、「書いたね。ご苦労さん。あとは好きなだけ吠えてろ」と、逃げる腐れ外道であり、精神疾患患者である。 こう言うゴミが生きてる事自体が許せない。皆さんもコイツには気をつけましょう。
guest

0

実際に動かしてみたらどうなるかみてみたらどうでしょうか

投稿2019/05/25 23:16

y_waiwai

総合スコア87747

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.49%

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

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

質問する

関連した質問