スクリプトで固定ファイルを現フォルダーNo.10221
にしむらX さん 22/07/19 11:28
 
お世話になっております。

趣味で集めているファイルを個別のフォルダーに振り分けているのですがその時に、
固定のファイ
ル(フォルダー)を今開いているフォルダーにコピーしたいのです。

例えば、
1)hoge.jpg を"C:\image\風景\2022-07-xx"にコピー
2)hoge.jpgが国内の画像なら"C:\temp\国内"というフォルダーを"C:\image\風景\202
2-07-xx"にコピー
3)"C:\temp\詳細情報未処理"というフォルダーを"C:\image\風景\2022-07-xx"にコ
ピーなんて事を手
作業でやっています。実際には2)3)の選択肢は複数あります。

これをいちいち"C:\temp\"に移動せずにスクリプトで現フォルダーにコピーしたいの
です。
ひとつのスクリプトでひとつのファイル(フォルダー)をコピーするものをリンクバー
に登録して、
"C:\temp\"に移動する手間を省きたいと思っています。

どなたか知恵をお貸しできないでしょうか?

よろしくお願いします。

[ ]
RE:10221 スクリプトで固定ファイルを現フNo.10225
秀丸担当 さん 22/07/19 17:39
 
秀丸ファイラーClassicの機能というわけではないですが、決まったコピーをする場
合はバッチファイルでやるのが一番簡単です。

例えば以下の内容を、copytothis.batというファイル名でどこかに保存して、実行す
ると、a.txt、b.txt、folder3にあるすべてのファイルを、c:\thisにコピーします。

copy c:\folder1\a.txt c:\this\*.*
copy c:\folder2\b.txt c:\this\*.*
copy c:\folder3\*.* c:\this\*.*

コマンドプロンプトでそのフォルダ上でcopytothis.batと入力してenterしても同じ
です。
バッチファイルの中で%1と書いておくと、その部分がバッチファイルで指定する1番
目の引数に置き換わります。

copy c:\folder1\a.txt %1\*.*
copy c:\folder2\b.txt %1\*.*
copy c:\folder3\*.* %1\*.*

こうしておいて、例えばコマンドプロンプトで、
copytothis.bat C:\hoge
入力すると、%1の部分がC:\hogeに置き換わります。
このあたりのバッチファイルについての詳細は、Google検索などしてみるといろいろ
情報が見つかると思います。

秀丸ファイラーClassic上で開いている現在のフォルダについては、ブックマークで%
dと書いておくと、それが現在のフォルダに置き換わります。
バッチファイルがc:\xxx\copytothis.batという場所にあるとして、秀丸ファイラーC
lassicのブックマークのパスの部分に、
c:\xxx\copytothis.bat %d
と書いておくと、%dの部分が現在のフォルダに置き換わります。
%dが現在のフォルダになって、バッチファイルが実行され、バッチファイル内の%1が
現在のフォルダに置き換わるといった感じになります。

[ ]
RE:10225 スクリプトで固定ファイルを現フNo.10226
にしむらX さん 22/07/19 22:59
 
ご回答ありがとうございます。

例えば、C:\TEMPには以下のようなフォルダーがあります。(すべてフォルダーです)

C:\TEMP\国内
C:\TEMP\海外
C:\TEMP\都会
C:\TEMP\海
C:\TEMP\植物
C:\TEMP\動物

例として、この内の"国内"フォルダーを"C:\image\風景\2022-07-xx"にコピーしたい
のです。
マウスで"国内"を選択してCTRL-C、"C:\image\風景\2022-07-xx"でCTRL-Vするのと同
じ事ををスクリプトで
したいのです。
COPYコマンドやXCOPYでは"C:\TEMP\国内"フォルダーそのもの(それだけ)を"C:\image
\風景\2022-07-xx"に
指定してコピーできず、また、各フォルダーのアイコンを変更しているので、それら
の情報が欠落するのも
避けたいです。

スクリプトの範疇超えてますでしょうか?

よろしくお願いします。

[ ]
RE:10226 スクリプトで固定ファイルを現フNo.10230
秀丸担当 さん 22/07/20 16:14
 
秀丸ファイラーClassicとしては、現在のフォルダのパスをバッチファイルや他のプ
ログラムに渡すのをする程度で、特別なことはあまりないです。

まずは簡単なバッチファイルを書いてみて、それを%1に置き換えたりするといいと思
います。
以下のようにしてみたらできるようでした。

●ブックマークの「パス」の部分に書く内容
"C:\temp\copytothis.bat" "%d"

●C:\temp\copytothis.batの内容
xcopy "C:\temp\国内" "%~1\国内" /S /E /I /EXCLUDE:C:\temp\EXCLUDELIST.TXT

●C:\temp\EXCLUDELIST.TXTの内容
desktop.ini

[ ]
RE:10230 スクリプトで固定ファイルを現フNo.10232
にしむらX さん 22/07/20 17:54
 
お世話になっております。
早速のご回答ありがとうございます。

XCOPYには沢山のオプションがあるんですね。とても勉強になりました。

ただ、この方法でもカスタマイズしたフォルダーのアイコン情報は移行出来ず、
コピー先のフォルダーは標準のものになるようです。

ちょっとアプローチの仕方を考え直します。

ありがとうございました。

[ ]
RE:10230 スクリプトで固定ファイルを現フNo.10233
秀丸担当 さん 22/07/20 18:05
 
バッチファイルに日本語が含まれていることがちょっと気になって、メモ帳で試して
みたら、全然だめでした。
最近のメモ帳は、UTF-8が既定になっていて、それでバッチファイルを作ると文字化
けして動かないです。
名前を付けて保存の選択で、ANSIにすると、日本語WindowsではShift-JISになって従
来通りにできます。
UTF-8にするには、バッチファイルの先頭にchcp 65001と書けばいいみたいです。
ごく普通のことだと思っていたのですが、最近ではずいぶんややこしいことになって
しまっていました。

秀丸エディタでは、普通に何も考えずにインストールしている場合は、従来通りです。
(一応カスタムインストールや動作環境の設定で既定をUTF-8にもできます)
秀丸エディタと秀丸ファイラーClassicを使っていて、特に設定していなければ、普
通に今まで通りのことが、今まで通りにできます。

[ ]