csvセルからPowerShellを持つ新しい行への書き込み方法 -- windows フィールド と powershell フィールド と csv フィールド 関連 問題

How to write to new line of .cmd file with Powershell from .CSV cell












0
vote

問題

日本語

長年リスナー、初めての発信者。

私は.cmdファイルを生成するために、そしてそれらを実行するためのスケジュールされたタスクをセットアップするために使用する.csvファイルに格納されている変数があります。

ex。 .cmdファイルの場合:

<事前> <コード> C:Python27ArcGIS10.5python.exe "D:ScriptRepoScript.py" C:Python27ArcGIS10.5python.exe "D:ScriptRepoScript2.py" C:Python27ArcGIS10.5python.exe "D:ScriptRepoScript3.py"

これらのタスクは、次々に実行するために必要なものを必要とします。

.csvファイルのセル内のcmdファイルの内容を各行の後に返します。そのため、.CSVセルは.cmdファイルの目的の内容と同じように見えます。

問題は、.cmdファイルの内容が1回線で書かれていることです。

<事前> <コード> C:Python27ArcGIS10.5python.exe "D:ScriptRepoScript.py" C:Python27ArcGIS10.5python.exe "D:ScriptRepoScript2.py"C:Python27ArcGIS10.5python.exe "D:ScriptRepoScript3.py"

`r`n を挿入しようとしましたが、それらの文字をインラインで書き込むだけです。元。 <コード> Line `r`n Line `r`n など....

質問:

1).cmdファイルでは、プログラムの.exeを実行し、次にそのプログラムで実行するスクリプトのリストを宣言できますか?もしそうなら、彼らは1stスクリプトが次のものに移動する前に完了するのを待つのでしょうか。

2).cmdファイルに新しい行を書くことができますか?

現在のPowerShell .cmdファイルに書き込む:

<事前> <コード> $files = Import-Csv D:scheduling.csv FOREACH ($file in $files) { $full_cmd_path = $file.cmd_filepath += $file.cmd_filename New-Item $full_cmd_path -type file -force -value $file.cmd_filename_content }

.csvファイルのスクリーンキャップ

私の情報を自分で見つけられない、またはフォーマットを隠していないため、またはスクリプトが悪いという理由だけで私を爆破してくれてありがとう。

すべてをありがとう。

英語

Long time listener, first time caller.

I have variables stored in a .csv file that I use to generate .cmd files and also to setup scheduled tasks to run them.

Ex. of .cmd file:

C:Python27ArcGIS10.5python.exe "D:ScriptRepoScript.py" C:Python27ArcGIS10.5python.exe "D:ScriptRepoScript2.py" C:Python27ArcGIS10.5python.exe "D:ScriptRepoScript3.py" 

I require these tasks to run one after another.

I am storing the contents of the .cmd file in a cell in a .csv file with returns after each line. So the .csv cell looks the same as the intended contents of the .cmd file.

The problem is that the contents of the .cmd file are written in one long line:

C:Python27ArcGIS10.5python.exe "D:ScriptRepoScript.py" C:Python27ArcGIS10.5python.exe "D:ScriptRepoScript2.py"C:Python27ArcGIS10.5python.exe "D:ScriptRepoScript3.py" 

I have tried to insert `r`n after each line, but that just writes those characters inline. Ex. Line `r`n Line `r`n etc....

Question:

1) In a .cmd file can you declare the .exe of the program to run and then a list of scripts to run with that program? If so will they wait for the 1st script to complete before moving to the next one?

2) How can I write a new line into the .cmd file?

Current Powershell to write to the .cmd file:

$files = Import-Csv D:scheduling.csv  FOREACH ($file in $files)  {     $full_cmd_path = $file.cmd_filepath += $file.cmd_filename     New-Item $full_cmd_path -type file -force -value      $file.cmd_filename_content } 

screen cap of .csv file

Thanks for the help or thanks for blasting me for not finding the info on my own, or screwing up the formatting, or just because I'm bad at scripting.

Thanks for everything.

</div
        
       
       

回答リスト

1
 
vote

問題は、 $file.cmd_filename_content にUNIXスタイルの行末を持つマルチライン文字列が含まれている可能性があります。

文字列を別々の文字列に分割してから、代わりにそれらをoutファイルにパイプすることができます。

<事前> <コード> foreach($file in $files) { $full_cmd_path = Join-Path $file.cmd_filepath $file.cmd_filename $content = $file.cmd_filename_content -split ' ? ' |Out-File -Path $full_cmd_path }

<コード> Out-File は、各行

の後にWindowsスタイルの行終了(<コード> CRLF / <コード>)を追加します(<コード> CRLF / <コード> device_fd0 )。
 

The problem could be that $file.cmd_filename_content contains a multi-line string with unix-style line endings.

You could split the string into separate strings and then pipe them to Out-File instead:

foreach($file in $files)  {     $full_cmd_path = Join-Path $file.cmd_filepath $file.cmd_filename     $content = $file.cmd_filename_content -split ' ? ' |Out-File -Path $full_cmd_path } 

Out-File will add a windows-style line ending (CRLF/`r`n) after each line

</div
 
 
   
   

関連する質問

1  iPhone加速度計> CSV> Eメール  ( Iphone accelerometer csv email ) 
私が取り組んでいる機械学習プロジェクトのためのデータを収集しようとしています。私がやりたいことはiPhoneから加速度計データを収集し、それをCSVに保存して自分に電子メールで送ってください。私のアプリは現在加速度計からのデータを取得することができますが、進行...

116  Java libまたはアプリCSVをXMLファイルに変換するには? [閉まっている]  ( Java lib or app to convert csv to xml file ) 
この質問はスタックオーバーフローガイドラインを満たしていません。現在答えを受け付けていません。 この質問を改善したいですか? ...

88  SQL Server 2005からMySQLにデータをエクスポートする方法[閉じた]  ( How to export data from sql server 2005 to mysql ) 
閉じたこの質問はオフトピックです。現在答えを受け付けていません。 この質問を改善したいですか?質問を更新するスタックオーバーフロ...

9  Excelクリップボードデータを受け入れる良いWebベースのグリッドは何ですか?  ( What is a good web based grid that accepts excel clipboard data ) 
貼り付けられたExcelデータを受け入れ、コピー中にExcel準拠のクリップボードデータを発行することができるプラットフォームAnnostic(すなわちJavaScript)グリッド制御/プラグインの任意の推奨事項は? Excelデータは "Normal"ク...

0  PowerShell:フィルタリングされた配列の値を設定します  ( Powershell setting values of a filtered array ) 
CSVファイルで読みたい、2つの値に基づいてフィルタリングしたいです。 フィールドと別のフィールドの値を設定します。これが簡単な例です 私が達成しようとしているもののうち: c: forfile.csvの内容: <事前> <コード> firstField,...

3  Pythonで保存されている単純なデータ  ( Simple data storing in python ) 
各行が簡単に解析できる配列の文字列表現であるように、Pythonを使用してデータを格納するための単純なソリューションを探しています。 私はそのような仕事を簡単にするための図書館を持っているのは確かに私が見つけたすべてのアプローチがそれを仕事にするのにずさんだっ...

1  複数のバッチファイルを動的に処理し、Spring Batchを使用して対応する出力ファイルの生成  ( Dynamically processing multiple batch files and generating corresponding output ) 
非同期バッチ処理、ジョブの停止、およびいくつかの既存のバッチ処理機能を置き換えるためのいくつかの高度な機能のいくつかを利用するために、Spring Batchの学習を開始しました。今、私は複数のバッチファイルを動的に処理し、入力ファイルごとに「受信」ファイルを...

2  一行あたりの固定数のパイプ区切りフィールドを読みますか?  ( Reading in a fixed number of pipe delimited fields per row ) 
私は生成されたときにキャリッジの返却に適切にエスケープされていなかったパイプ区切りファイルの束を持っているので、CRまたは改行文字を使用して行を区切ることができません。ただし、各レコードは正確に7つのフィールドを持たなければならないことを知っています。 フィー...

107  NETでCSVファイルを強く型付けされたデータ構造にインポートする[閉じる]  ( Import csv file to strongly typed data structure in net ) 
現在立つにつれて、この質問は私たちのQ&AMPにとって良いフィットではありません。フォーマット。私たちは事実、参考文献、または専門知識によって支持されることを期待していますが、この質問は...

1  OpenOffice.org JavaでCSVをインポートします  ( Openoffice org import csv with java ) 
OpenOffice.org APIを使用してCSVファイルをインポートする方法"CVSテキスト"フィルタを使用して同じファイルを開くときにも提供されるのと同じ機能を使用してこれをやりたいです。 ...




© 2022 cndgn.com All Rights Reserved. Q&Aハウス 全著作権所有