質問編集履歴
2
指摘を受けたので編集した
test
CHANGED
@@ -1 +1 @@
|
|
1
|
-
バッチが
|
1
|
+
バッチを実行したところ、「文字列に終端記号 " がありません。」というエラーが出る
|
test
CHANGED
@@ -1,58 +1,74 @@
|
|
1
|
-
|
1
|
+
目的
|
2
2
|
|
3
|
-
|
3
|
+
以下を実現しようとしています。
|
4
|
-
PowerShell -command "Get-Content %LOGDIR%\%TMPFILE2% | Sort-Object | Get-Unique -i -w 7 do echo %%C" >> %LOGDIR%\%TMPFILE3%
|
5
4
|
|
5
|
+
特定のフォルダ内にあるファイルからz081490を除くファイル名のリストを抽出
|
6
|
+
当日の日付でファイル名のリストを検索し、該当するもののリストを抽出
|
7
|
+
リストを昇順でソートして重複していない行を抽出
|
8
|
+
リストの行数をカウントし抽出
|
9
|
+
|
10
|
+
問題点
|
11
|
+
|
12
|
+
しかし、以下のバッチを実行しても、
|
13
|
+
|
14
|
+
リストを昇順でソートして重複していない行を抽出
|
15
|
+
|
6
|
-
のところで、
|
16
|
+
のところで、以下のエラーが出力されます。
|
7
17
|
|
8
18
|
文字列に終端記号 " がありません。
|
9
|
-
|
19
|
+
+ CategoryInfo : ParserError: (:) [], ParentContainsErrorRecordException
|
10
|
-
|
20
|
+
+ FullyQualifiedErrorId : TerminatorExpectedAtEndOfString
|
11
21
|
|
12
|
-
|
22
|
+
以下のようにBOMを追加しても、このエラーは解消しません。
|
13
|
-
+ CategoryInfo : ParserError: (:) [], ParentContainsErrorRecordException
|
14
|
-
+ FullyQualifiedErrorId : TerminatorExpectedAtEndOfString
|
15
23
|
|
16
|
-
|
24
|
+
((&{([byte[]] @(0xEF, 0xBB, 0xBF))}) + (get-content C:\Users\z095258\Desktop\check_file_r3.bat -encoding byte)) | set-content C:\Users\z095258\Desktop\check_file_r3.bat -encoding byte
|
17
25
|
|
18
|
-
|
26
|
+
実行したバッチ
|
19
27
|
|
28
|
+
rem @echo off
|
29
|
+
setlocal
|
30
|
+
|
31
|
+
set Y=%date:~0,4%
|
32
|
+
set M=%date:~5,2%
|
33
|
+
set D=%date:~8,2%
|
34
|
+
|
35
|
+
set LOGDIR="C:\temp\ESS-REC\Server\Log"
|
36
|
+
set RECFILE="E:\ESS REC\Server\Data\%Y%%M%"
|
37
|
+
set TMPFILE1="tmpfile1.txt"
|
38
|
+
set TMPFILE2="tmpfile2.txt"
|
39
|
+
set TMPFILE3="tmpfile3.txt"
|
40
|
+
set TMPFILE4="tmpfile4.txt"
|
41
|
+
|
42
|
+
copy / y nul %LOGDIR%\%TMPFILE1% > nul
|
43
|
+
copy / y nul %LOGDIR%\%TMPFILE2% > nul
|
44
|
+
copy / y nul %LOGDIR%\%TMPFILE3% > nul
|
45
|
+
copy / y nul %LOGDIR%\%TMPFILE4% > nul
|
46
|
+
|
47
|
+
PAUSE
|
48
|
+
|
49
|
+
rem ファイルからz081490を除くファイル名のリストを抽出
|
50
|
+
for /f "delims=" %%A in ('dir /B %RECFILE%\*.rec ^| find /v "z081490"') do echo %%A >> %LOGDIR%\%TMPFILE1%
|
51
|
+
|
52
|
+
PAUSE
|
53
|
+
|
54
|
+
rem 当日の日付でファイル名のリストを検索し、該当するもののリストを抽出
|
55
|
+
for /f %%B in ('find "_%Y%%M%%D%" ^< %LOGDIR%\%TMPFILE1%') do echo %%B >> %LOGDIR%\%TMPFILE2%
|
56
|
+
|
57
|
+
PAUSE
|
58
|
+
|
59
|
+
rem リストを昇順でソートして重複していない行を抽出
|
60
|
+
PowerShell -command "Get-Content %LOGDIR%\%TMPFILE2% | Sort-Object | Get-Unique -i -w 7 do echo %%C" >> %LOGDIR%\%TMPFILE3%
|
61
|
+
|
62
|
+
PAUSE
|
63
|
+
|
64
|
+
rem リストの行数をカウントし抽出
|
65
|
+
for /f %%C in ('find /c /v ""^< %LOGDIR%\%TMPFILE3%') do echo %%C >> %LOGDIR%\%TMPFILE4%
|
66
|
+
|
67
|
+
PAUSE
|
68
|
+
|
69
|
+
何か簡単なことではないかとは思うのですが、知識がないため、解決できないでいます。
|
70
|
+
大変お手数ですが、解決法などをご教授いただけますと幸甚です。
|
20
71
|
よろしくお願いいたします。
|
21
72
|
|
22
|
-
rem @echo off
|
23
|
-
setlocal
|
24
|
-
|
25
|
-
set Y=%date:~0,4%
|
26
|
-
set M=%date:~5,2%
|
27
|
-
set D=%date:~8,2%
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
set LOGDIR="C:\temp\ESS-REC\Server\Log"
|
32
|
-
|
73
|
+
本文では、%LOGDIR%%TMPFILE1%という記載になっているかと思いますが、こちらはスクリプトでは、間に/は入っている記載になっています。
|
33
|
-
set TMPFILE1="tmpfile1.txt"
|
34
|
-
set TMPFILE2="tmpfile2.txt"
|
35
|
-
set TMPFILE3="tmpfile3.txt"
|
36
|
-
set TMPFILE4="tmpfile4.txt"
|
37
|
-
|
38
|
-
PAUSE
|
39
|
-
|
40
|
-
r
|
74
|
+
teratailの仕様がなにかで円マークが表示されませんでした。
|
41
|
-
for /f "delims=" %%A in ('dir /B %RECFILE%\*.rec ^| find /v "z081490"') do echo %%A >> %LOGDIR%\%TMPFILE1%
|
42
|
-
|
43
|
-
PAUSE
|
44
|
-
|
45
|
-
rem 当日の日付でファイル名のリストを検索し、該当するもののリストを抽出
|
46
|
-
for /f %%B in ('find "_%Y%%M%%D%" ^< %LOGDIR%\%TMPFILE1%') do echo %%B >> %LOGDIR%\%TMPFILE2%
|
47
|
-
|
48
|
-
PAUSE
|
49
|
-
|
50
|
-
rem リストを昇順でソートして重複していない行を抽出
|
51
|
-
PowerShell -command "Get-Content %LOGDIR%\%TMPFILE2% | Sort-Object | Get-Unique -i -w 7 do echo %%C" >> %LOGDIR%\%TMPFILE3%
|
52
|
-
|
53
|
-
PAUSE
|
54
|
-
|
55
|
-
rem リストの行数をカウントし抽出
|
56
|
-
for /f %%C in ('find /c /v ""^< %LOGDIR%\%TMPFILE3%') do echo %%C >> %LOGDIR%\%TMPFILE4%
|
57
|
-
|
58
|
-
PAUSE
|
1
タグからpowershellを除きました
test
CHANGED
File without changes
|
test
CHANGED
File without changes
|