2017-10-23 9 views
-2

いくつかのファイルにいくつかのデータを出力しようとしています。ファイル名は変数の最初の文字です。私はそれが最後の部分式の問題だと思う。部分表現のエラー

$var = 123,456,789 
echo abc > "$($env:userprofile)\dir\$($var[0].substring(0,1)).txt" 

これは私が読んだところに従ってフォーマットしましたが、エラーを投げかけています。

+2

実際のエラーを投稿してください。 FWIWでは、整数に対して '.Substring()'を呼び出すことはできません。最初に文字列に変換する必要があります –

答えて

0

ターゲットディレクトリが存在しない場合、リダイレクト演算子>を使用すると失敗します。

$var = 123,456,789 #this is an array of ints 
$Path = $env:UserProfile + "\dir\$($var[0].ToString().Substring(0,1)).txt" 

If (-not (Test-Path -Path $Path)) {New-Item -Path $Path -ItemType 'File' -Force} 

'abc' > $Path 
+0

(Test-Path -Path $ Path)が$の前に存在しないのはなぜですか? – Lumify

+0

@Lumifyあなたは何を意味するか分かりますか?文字列を必要としないケースをテストする場合、文字列の部分式は必要ありません。 – TheIncorrigible1

+0

ああ、テストカッコです。 – Lumify

関連する問題