質問するログイン新規登録

質問編集履歴

2

追記

2019/08/26 04:54

投稿

zazabi
zazabi

スコア24

title CHANGED
File without changes
body CHANGED
@@ -79,4 +79,40 @@
79
79
  set "line=!line:%a%=%b%!" →だめだった
80
80
 
81
81
  適切に置換できるコマンドを知っている方がいれば、教えてください。
82
- 以上、よろしくお願い致します。
82
+ 以上、よろしくお願い致します。
83
+
84
+ #8/26追記
85
+ 下記のコマンドを実施しましたが、解決しませんでした……。
86
+ @echo off
87
+ set word1=Hostname=Windows host
88
+ set word2=Hostname=%COMPUTERNAME%
89
+
90
+ set text1=<置換前ファイル>
91
+ set text2=<置換後ファイル>
92
+
93
+ setlocal enabledelayedexpansion
94
+ for /f "usebackq" %%i in ("%text1%") do (
95
+ echo "%%i" | findstr "%word1%" >NUL && set line=%word2%
96
+ echo !line!>> "%text2%"
97
+ )
98
+
99
+ endlocal
100
+ pause
101
+ 【置換前ファイルの内容】
102
+ a
103
+ a
104
+ a
105
+ Hostname=Windows host
106
+ a
107
+ a
108
+ a
109
+ 【置換後ファイルの内容】
110
+ ECHO は <OFF> です。
111
+ ECHO は <OFF> です。
112
+ ECHO は <OFF> です。
113
+ Hostname=<ホスト名>
114
+ Hostname=<ホスト名>
115
+ Hostname=<ホスト名>
116
+ Hostname=<ホスト名>
117
+
118
+ 以上、何か思い当たる節があるならば教えていただけたら幸いです。

1

追記

2019/08/26 04:54

投稿

zazabi
zazabi

スコア24

title CHANGED
File without changes
body CHANGED
@@ -42,4 +42,41 @@
42
42
  https://jj-blues.com/cms/wantto-replacestring/
43
43
 
44
44
  情報が足りないようでしたら追加致しますので指摘してください。
45
+ 以上、よろしくお願い致します。
46
+
47
+ #8/23追記
48
+ 以下のように改善されましたが、まだ未解決です。
49
+ 仕様としては、batと同じディレクトリにコピーしそこで文字列置換を行った後対象のファイルに上書きする方法にしました。
50
+ 置換前と置換後のコマンドは問題なく機能しますので、置換するコマンドのみ書かせていただきます。
51
+ 【コマンド】
52
+ @echo off &setlocal
53
+ set a=Hostname=Windows host
54
+ echo %a%
55
+ set b=Hostname=%COMPUTERNAME%
56
+ echo %b%
57
+ set c=<編集対象ファイルのフルパス>
58
+ setlocal enabledelayedexpansion
59
+ for /f "usebackq" %%i in ("<置換するためのファイルのフルパス>") do (
60
+ set line=%%i
61
+ set line=!line:"%a%"="%b%"!
62
+ echo !line!>> "%c%"
63
+ )
64
+ endlocal
65
+ pause
66
+ 【実行前ファイル内容】
67
+ a
68
+ aaaHostname=Windows hostaaa
69
+ a
70
+ 【実行後ファイル内容】
71
+ a
72
+ aaaHostname=Windows
73
+ a
74
+
75
+ 【試行内容】
76
+ set line=!line:"%a%"="%b%"! →だめだった
77
+ set line=!line:%a%=%b%! →だめだった
78
+ set line=!line:{%a%}={%b%}! →だめだった
79
+ set "line=!line:%a%=%b%!" →だめだった
80
+
81
+ 適切に置換できるコマンドを知っている方がいれば、教えてください。
45
82
  以上、よろしくお願い致します。