ファイルをアーカイブフォルダーにコピーするには、次のネットワークパスがあります。 File 1
をFolder
からArchive
にコピーしますが、動作しないこれら2つの調整を追加したいと思います。
File 1-1
の名前をFile 1 - date + time
に変更します私のコードでは、名前を日付に変更するために この例 に従いました。
copy "F:\Folder\File 1.xlsx" "F:\Folder\Archive\File 1-1.xlsx"
/f "tokens=1-5 delim s=/ " %%d in ("%date%") do rename "F:\Folder example 2.xlsx" "F:\Folder\File example %%e-%%f-%%g.xlsx"
これを試して:
ren "File 1-1" "File 1 - %date:/=-% %time::=-%"
これがあなたがしたいことであるかどうかを確認してください:
@echo off
for /f "delims=" %%a in ('wmic OS Get localdatetime ^| find "."') do set dt=%%a
set YYYY=%dt:~0,4%
set MM=%dt:~4,2%
set DD=%dt:~6,2%
set HH=%dt:~8,2%
set Min=%dt:~10,2%
set Sec=%dt:~12,2%
set stamp=%YYYY%-%MM%-%DD%_%HH%-%Min%-%Sec%
copy "F:\Folder\File 1.xlsx" "F:\Folder\Archive\File 1 - %stamp%.xlsx"
Foxidriveの回答を変更して、フォルダー全体とそのすべてのコンテンツをコピーしました。このスクリプトは、フォルダーを作成し、その下のサブフォルダーを含む別のフォルダーのコンテンツをバックアップします。
これを1時間ごとにスケジュールされたタスクに入れる場合、元のフォルダーのコピーでドライブをすぐにいっぱいにしてしまう可能性があるため、注意する必要があります。 bitbucketなどの前は、コードをオフラインで保存するために同様のスクリプトとして使用していました。
@echo off
for /f "delims=" %%a in ('wmic OS Get localdatetime ^| find "."') do set dt=%%a
set YYYY=%dt:~0,4%
set MM=%dt:~4,2%
set DD=%dt:~6,2%
set HH=%dt:~8,2%
set Min=%dt:~10,2%
set Sec=%dt:~12,2%
set stamp=YourPrefixHere_%YYYY%%MM%%DD%@%HH%%Min%
rem you could for example want to create a folder in Gdrive and save backup there
cd C:\YourGoogleDriveFolder
mkdir %stamp%
cd %stamp%
xcopy C:\FolderWithDataToBackup\*.* /s
現在のシステム日付に基づいてすべての.pdf
ファイルの名前を変更します。たとえば、Gross Profit.pdf
という名前のファイルはGross Profit 2014-07-31.pdf
に名前が変更されます。明日実行すると、名前がGross Profit 2014-08-01.pdf
に変更されます。
?
をレポート名Gross Profit
に置き換えることもできますが、名前を変更するのは1つのレポートのみです。 ?
は、Conduit
フォルダー内のすべての名前を変更します。 ?
が非常に多い理由は、一部の.pdf
が長い名前を持っているためです。 12個の?
sを入力した場合、12文字より長い名前は13番目の文字で切り取られます。 1 ?
で試してから、多くの?
で試してください。 ?
の長さは、もう少し長くするか、最長のレポート名と同じにする必要があります。
@ECHO OFF
SET NETWORKSOURCE=\\flcorpfile\shared\"SHORE Reports"\2014\Conduit
REN %NETWORKSOURCE%\*.pdf "????????????????????????????????????????????????? %date:~-4,4%-%date:~-10,2%-%date:~7,2%.pdf"
はい、バックグラウンドで実行するには、バッチファイルへのショートカットを作成し、プロパティに入ります。 LinuxマシンのATMを使用していますが、必要なオプションは[詳細設定]タブにあります。
次のようなvbsスクリプトを使用してバッチスクリプトを実行することもできます。
'HideBat.vbs
CreateObject("Wscript.Shell").Run "your_batch_file.bat", 0, True
これにより、cmdウィンドウが表示されずにバッチファイルが実行されます。