質問編集履歴

10

修正

2022/10/18 04:39

投稿

pom12345
pom12345

スコア12

test CHANGED
File without changes
test CHANGED
@@ -28,6 +28,8 @@
28
28
  ```
29
29
 
30
30
  起きた現象
31
+ ファイル名が長すぎると出たことと、Windows10では絶対パスが259文字以下にしないといけないようです。
32
+
31
33
  ```コマンドプロンプト
32
34
  C:\>forfiles /P E:\Backup /D -14 /c "cmd /c rmdir /s /q @file"
33
35
  ○○.xlsm - ファイル名が長すぎます。

9

修正

2022/10/18 04:34

投稿

pom12345
pom12345

スコア12

test CHANGED
File without changes
test CHANGED
@@ -43,7 +43,7 @@
43
43
  set BACKUP_DIRECTORY=E:\Backup
44
44
 
45
45
  cd %BACKUP_DIRECTORY%
46
- rem ジャンクションリンクを作成しても、それを削除しても元のフォルダ削除されな
46
+ rem ジャンクションリンクを作成し、それを削除しても元のフォルダ削除されるわけでかった
47
47
  forfiles /P %BACKUP_DIRECTORY% /D -14 /c "cmd /c mklink /J %BACKUP_DIRECTORY%\temp @path & cmd /c rmdir /S /Q %BACKUP_DIRECTORY%\temp"
48
48
 
49
49
  timeout /t 10 /nobreak

8

修正

2022/10/18 04:33

投稿

pom12345
pom12345

スコア12

test CHANGED
File without changes
test CHANGED
@@ -37,7 +37,8 @@
37
37
  この記事のことを試しましたが
38
38
  https://atmarkit.itmedia.co.jp/ait/articles/2106/02/news024.html#junction
39
39
 
40
- mklinkでジャンクションリンクを作成 → redim ※ジャンクションリンクを削除しているだけでした。
40
+ mklinkでジャンクションリンクを作成 → redim
41
+ ※ジャンクションリンクを削除しているだけでした。URL記事のものは手動で操作できる意味だけかもしれない。
41
42
  ```bat
42
43
  set BACKUP_DIRECTORY=E:\Backup
43
44
 

7

修正

2022/10/18 04:32

投稿

pom12345
pom12345

スコア12

test CHANGED
File without changes
test CHANGED
@@ -33,7 +33,11 @@
33
33
  ○○.xlsm - ファイル名が長すぎます。
34
34
  ```
35
35
 
36
+ バックアップスクリプト2
37
+ この記事のことを試しましたが
38
+ https://atmarkit.itmedia.co.jp/ait/articles/2106/02/news024.html#junction
39
+
36
- バックアップスクリプト2 (mklinkでジャンクションリンクを作成 → redim)
40
+ mklinkでジャンクションリンクを作成 → redim ※ジャンクションリンクを削除しているだけでした。
37
41
  ```bat
38
42
  set BACKUP_DIRECTORY=E:\Backup
39
43
 

6

修正

2022/10/18 04:30

投稿

pom12345
pom12345

スコア12

test CHANGED
File without changes
test CHANGED
@@ -27,6 +27,12 @@
27
27
  exit
28
28
  ```
29
29
 
30
+ 起きた現象
31
+ ```コマンドプロンプト
32
+ C:\>forfiles /P E:\Backup /D -14 /c "cmd /c rmdir /s /q @file"
33
+ ○○.xlsm - ファイル名が長すぎます。
34
+ ```
35
+
30
36
  バックアップスクリプト2 (mklinkでジャンクションリンクを作成 → redim)
31
37
  ```bat
32
38
  set BACKUP_DIRECTORY=E:\Backup
@@ -39,4 +45,3 @@
39
45
 
40
46
  exit
41
47
  ```
42
-

5

修正

2022/10/18 02:56

投稿

pom12345
pom12345

スコア12

test CHANGED
File without changes
test CHANGED
@@ -32,11 +32,10 @@
32
32
  set BACKUP_DIRECTORY=E:\Backup
33
33
 
34
34
  cd %BACKUP_DIRECTORY%
35
- rem ジャンクションリンク作成たと表示されましたが、何もありませんでした。
35
+ rem ジャンクションリンク作成しても、そを削除ても元のフォルダは削除されない
36
- rem 何もないのと、2つのコマンドが実行できていないためredimも実行できませんでした。
37
- forfiles /P %BACKUP_DIRECTORY% /D -14 /c "cmd /c mklink /J %BACKUP_DIRECTORY%\temp @path && cmd /c rmdir /S /Q %BACKUP_DIRECTORY%\temp"
36
+ forfiles /P %BACKUP_DIRECTORY% /D -14 /c "cmd /c mklink /J %BACKUP_DIRECTORY%\temp @path & cmd /c rmdir /S /Q %BACKUP_DIRECTORY%\temp"
38
37
 
39
- timeout /t 1800 /nobreak
38
+ timeout /t 10 /nobreak
40
39
 
41
40
  exit
42
41
  ```

4

修正

2022/10/18 02:33

投稿

pom12345
pom12345

スコア12

test CHANGED
File without changes
test CHANGED
@@ -34,7 +34,7 @@
34
34
  cd %BACKUP_DIRECTORY%
35
35
  rem ジャンクションリンクが作成されましたと表示されましたが、何もありませんでした。
36
36
  rem 何もないのと、2つのコマンドが実行できていないためredimも実行できませんでした。
37
- forfiles /P %BACKUP_DIRECTORY% /D -14 /c "cmd /c mklink /J %BACKUP_DIRECTORY%\temp @path && rmdir /S /Q %BACKUP_DIRECTORY%\temp"
37
+ forfiles /P %BACKUP_DIRECTORY% /D -14 /c "cmd /c mklink /J %BACKUP_DIRECTORY%\temp @path && cmd /c rmdir /S /Q %BACKUP_DIRECTORY%\temp"
38
38
 
39
39
  timeout /t 1800 /nobreak
40
40
 

3

修正

2022/10/18 02:23

投稿

pom12345
pom12345

スコア12

test CHANGED
File without changes
test CHANGED
@@ -14,6 +14,7 @@
14
14
 
15
15
  どなたかアドバイスをお願いします。
16
16
 
17
+ バックアップスクリプト1
17
18
  ```bat
18
19
  set BACKUP_DIRECTORY=E:\Backup
19
20
 
@@ -26,3 +27,17 @@
26
27
  exit
27
28
  ```
28
29
 
30
+ バックアップスクリプト2 (mklinkでジャンクションリンクを作成 → redim)
31
+ ```bat
32
+ set BACKUP_DIRECTORY=E:\Backup
33
+
34
+ cd %BACKUP_DIRECTORY%
35
+ rem ジャンクションリンクが作成されましたと表示されましたが、何もありませんでした。
36
+ rem 何もないのと、2つのコマンドが実行できていないためredimも実行できませんでした。
37
+ forfiles /P %BACKUP_DIRECTORY% /D -14 /c "cmd /c mklink /J %BACKUP_DIRECTORY%\temp @path && rmdir /S /Q %BACKUP_DIRECTORY%\temp"
38
+
39
+ timeout /t 1800 /nobreak
40
+
41
+ exit
42
+ ```
43
+

2

修正

2022/10/18 02:00

投稿

pom12345
pom12345

スコア12

test CHANGED
File without changes
test CHANGED
@@ -10,6 +10,7 @@
10
10
 
11
11
  こちらがバックアップスクリプトになります。
12
12
  もう1つの考えかたとして、mklinkでシンボリックリンクを作って、削除できないかなと考えてみました。
13
+ また、初歩的な質問ですが、forfiles内で複数のコマンドが実行できるのでしょうか?
13
14
 
14
15
  どなたかアドバイスをお願いします。
15
16
 

1

修正

2022/10/18 01:58

投稿

pom12345
pom12345

スコア12

test CHANGED
File without changes
test CHANGED
@@ -4,7 +4,7 @@
4
4
  バックアップ用のドライブ内に日付フォルダとして格納しています。
5
5
  14日前の古いデータはrmdir削除するようにしています。
6
6
 
7
- そもそも、ファイル名が長すぎるものを作らないようにするようなシステム運用するべきですが、
7
+ そもそも、ファイル名が長すぎるものを作らないようにするようなシステム運用するべきですが、
8
8
  前任者がファイル名の長さのことを考えずにシステムを作っていたので、
9
9
  それを避けることができないです。
10
10