バッチファイル-csvをループし、2つの列からパス変数を作成します

マーティン

CSVファイルをループして、2つの列からフルパス変数を作成したいのですが、特定の1つの列の値が「Folder」の場合のみです。

これは実際には現在機能しますが、機能しない部分はパス変数の作成です。

2つのポイント:

私が見ている2つの列は、最も深いフォルダーと両方のルートフォルダーです。このように:first / first1 / + second = first / first1 / second

そのため、最も深いフォルダは常にいっぱいになり、私はそれをそのまま受け取ることができます。

上記のフォルダはいっぱいになるか、列に0が表示されます。また、文字列には「/」があり、これを切り取って円記号に置き換える必要があります。

これが私のコードです:

For /F "tokens=1-7 delims=;" %%a in (L:/Mappe1.csv) Do (

if "%%b"=="Folder" (
   set folder=%%c
   if NOT %%f==0 (
      set rootFolder ==f
      rem check for slash..
      if %rootFolder=~-1%==/ (
          rem cut it out
          SET rootFolder=%rootFolder:~0,-1%
      )
      rem both variables set
      set finalPath=%rootFolder%%folder%
   ) else (
      rem just the folder
      set finalpath=%folder%
   )
echo %finalpath%
)
) 

CSVのサンプル:

ID; PROGID; NAME; PARENTID; PARENT_FOLDER; PATH; インスタンス; DESC; 注文; 23; Folder; Stammordner; 4; 4; PRODUKTION /; 0 ;;;

動作していないもの:

  • 現在、実行するたびに「Echoisoff」出力が表示されます。どういうわけかファイナルパスが設定されていないと思いますが、どこにも行きません。

  • また、私がそれを行う方法が一般的な方法であるかどうかもわかりません-私はバッチに非常に慣れていません-私が開発者であるとしても、それは私にとってどういうわけか非常に複雑です..

よろしく

foxidrive

サンプルデータと、6番目のトークンにスラッシュが1つしかないという事実を考えると、これは機能的に同じであるはずだと思います。

@echo off
setlocal enabledelayedexpansion
For /F "tokens=1-7 delims=;" %%a in (L:\Mappe1.csv) Do (
   if "%%b"=="Folder" (
      set "finalpath=%%c"
      if NOT "%%f"=="0" set "finalpath=%%f%%c"
   )
set "finalpath=!finalpath:/=!"
echo "!finalpath!"
)
pause

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

変数からパスとファイル名をバッチ抽出します

分類Dev

バッチファイルのforループの変数を変更します

分類Dev

バッチファイルを使用して、パターンを含む変数とその後の変数から文字列の一部を削除します

分類Dev

変数の出力/ステータスをバッチファイルからjenkinsパイプラインに取得します

分類Dev

バッチファイル-可変数の変数でxcopyを使用してループしますか?

分類Dev

バッチファイルから2つの引数を持つJavaスクリプト関数を呼び出し、結果をDOS変数に返す方法

分類Dev

バッチファイルを使用して2つの異なるファイルから変数を抽出します

分類Dev

コマンドラインからのオプションの変数数とファイル名を2つのバッチ変数に解析します

分類Dev

Djangoはバッチファイルからスーパーユーザーを作成します

分類Dev

バッチを使用して、テキストファイルから行内の文字列を変更します

分類Dev

バッチファイルは2つのテキストファイルをマージします

分類Dev

あるバッチファイルから別のバッチファイルに変数を渡す方法は?

分類Dev

バッチファイルを使用して文字列(ファイル名)から特定の部分を抽出します

分類Dev

バッチファイルの配列に構造を作成しますか?

分類Dev

バッチ(CMD)2つの配列(2つの.txtファイルで作成)を反復処理します

分類Dev

バッチを介してcsvファイルからいくつかの列と行を削除する

分類Dev

文字列から2つの値をバッチファイルと比較します

分類Dev

バッチファイル(.bat)を作成して、複数のファイルから文字列を検索します

分類Dev

バッチスクリプト-ファイルをファイルリストからファイルリスト内の場所にコピーします

分類Dev

バッチファイル特定のフォルダに複数行のtxtファイルを作成します

分類Dev

バッチスクリプトのファイル名から文字列を抽出して置換します

分類Dev

マルチインデックスcsvファイルからマルチインデックスパンダデータフレームを作成します

分類Dev

バッチファイル:文字列内のパスのファイル名を削除します

分類Dev

コンパイルされたバッチファイル(exe)ファイルをバッチファイルから実行します

分類Dev

バッチファイルを使用して、csvファイルから特殊文字を削除します

分類Dev

バッチファイルを使用してxslt2.0変換パイプラインを作成します

分類Dev

増分変数を使用したバッチファイルのFORループ

分類Dev

変数を使用したバッチ ファイルの FOR ループ

分類Dev

特定のパスを持つバッチでテキストファイルを作成します

Related 関連記事

  1. 1

    変数からパスとファイル名をバッチ抽出します

  2. 2

    バッチファイルのforループの変数を変更します

  3. 3

    バッチファイルを使用して、パターンを含む変数とその後の変数から文字列の一部を削除します

  4. 4

    変数の出力/ステータスをバッチファイルからjenkinsパイプラインに取得します

  5. 5

    バッチファイル-可変数の変数でxcopyを使用してループしますか?

  6. 6

    バッチファイルから2つの引数を持つJavaスクリプト関数を呼び出し、結果をDOS変数に返す方法

  7. 7

    バッチファイルを使用して2つの異なるファイルから変数を抽出します

  8. 8

    コマンドラインからのオプションの変数数とファイル名を2つのバッチ変数に解析します

  9. 9

    Djangoはバッチファイルからスーパーユーザーを作成します

  10. 10

    バッチを使用して、テキストファイルから行内の文字列を変更します

  11. 11

    バッチファイルは2つのテキストファイルをマージします

  12. 12

    あるバッチファイルから別のバッチファイルに変数を渡す方法は?

  13. 13

    バッチファイルを使用して文字列(ファイル名)から特定の部分を抽出します

  14. 14

    バッチファイルの配列に構造を作成しますか?

  15. 15

    バッチ(CMD)2つの配列(2つの.txtファイルで作成)を反復処理します

  16. 16

    バッチを介してcsvファイルからいくつかの列と行を削除する

  17. 17

    文字列から2つの値をバッチファイルと比較します

  18. 18

    バッチファイル(.bat)を作成して、複数のファイルから文字列を検索します

  19. 19

    バッチスクリプト-ファイルをファイルリストからファイルリスト内の場所にコピーします

  20. 20

    バッチファイル特定のフォルダに複数行のtxtファイルを作成します

  21. 21

    バッチスクリプトのファイル名から文字列を抽出して置換します

  22. 22

    マルチインデックスcsvファイルからマルチインデックスパンダデータフレームを作成します

  23. 23

    バッチファイル:文字列内のパスのファイル名を削除します

  24. 24

    コンパイルされたバッチファイル(exe)ファイルをバッチファイルから実行します

  25. 25

    バッチファイルを使用して、csvファイルから特殊文字を削除します

  26. 26

    バッチファイルを使用してxslt2.0変換パイプラインを作成します

  27. 27

    増分変数を使用したバッチファイルのFORループ

  28. 28

    変数を使用したバッチ ファイルの FOR ループ

  29. 29

    特定のパスを持つバッチでテキストファイルを作成します

ホットタグ

アーカイブ