【.cmd】 バッチファイルスクリプト %15 【.bat】 (819レス)
上下前次1-新
202: デフォルトの名無しさん [] 2023/03/01(水) 19:05:12.08 ID:fuKOGN7X(6/6) AAS
ていうことは、うまく調整しないと、2回同じ実行することになりますね!
早めに気が付いてよかったです!
203(2): デフォルトの名無しさん [sage] 2023/03/01(水) 22:53:45.68 ID:6i7MYFqO(1) AAS
コマンドプロンプトから
start chrome "D:/test.html?a=001"
としたのですが
D:/test.html
が開かれました。
ローカルのhtmlにクエリを付けて開く方法があればご教示頂きたいです。
204: デフォルトの名無しさん [sage] 2023/03/01(水) 23:15:54.48 ID:8kmkGnGP(1) AAS
それはchromeのお話ですねえ
開発元のgoogleに聞くのが早いのでは
205: デフォルトの名無しさん [sage] 2023/03/02(木) 07:45:52.86 ID:X0Akc+Oj(1) AAS
起動するとネットワークプリンタでファイルを出力できるバッチファイルて作れますか?
206: デフォルトの名無しさん [sage] 2023/03/02(木) 10:15:53.52 ID:rYHGX+R7(1) AAS
ネットワークプリンタで出力されるものは印刷物です
ファイルではありません
207(1): デフォルトの名無しさん [sage] 2023/03/02(木) 10:50:24.75 ID:h3FhlPC5(1) AAS
>>203
クエスチョンマーク以降のパラメーターを解釈するのは、Webサーバーのお仕事です
サーバーを立ち上げるか借りるかしましょう
208(1): デフォルトの名無しさん [sage] 2023/03/02(木) 11:39:56.39 ID:5LS4jA2t(1) AAS
>>203
"file:///D:/test.html?a=001"は?
"D:/test.html?a=001"だとD:/test.html%3Fa=001を開こうとしてERR_FILE_NOT_FOUNDになるなぁ
209: デフォルトの名無しさん [sage] 2023/03/02(木) 12:44:28.71 ID:RvyObGoZ(1/2) AAS
>>208
それでいけるね
ちゃんとクエリーデータも渡ってきてる
210: デフォルトの名無しさん [sage] 2023/03/02(木) 14:02:39.40 ID:RvyObGoZ(2/2) AAS
>>207
クエリーパラメタはURLの解釈の部分だと思われる(window.location.search)ので
サーバーの仕事というよりHTMLの実行部分(エンジン)の仕事なんだろうね
211: デフォルトの名無しさん [] 2023/03/03(金) 14:20:26.65 ID:cfdc5Bpc(1/2) AAS
あぐえ
212: デフォルトの名無しさん [] 2023/03/03(金) 14:22:08.63 ID:cfdc5Bpc(2/2) AAS
ぼうけ
213: デフォルトの名無しさん [] 2023/03/07(火) 15:36:52.13 ID:aaO7s6EJ(1/2) AAS
「作成日時が30日以上前」を条件としてフォルダ内のファイルを削除したいのですが、方法はありますか?
forfiles だと更新日時が条件となってしまいます、、、
214(1): デフォルトの名無しさん [sage] 2023/03/07(火) 16:49:23.24 ID:/8dYORgk(1) AAS
作成日時は頑張れば取得できるけどコマンドプロンプトでは時間計算ができないから
PowerShellのスクリプトを書いたほうがいいと思う
215: デフォルトの名無しさん [sage] 2023/03/07(火) 17:27:20.76 ID:GAVJiBto(1) AAS
@echo off
for /f "usebackq" %%i in (`powershell -c "([datetime](get-date)).AddDays(-30).tostring('yyyyMMdd')"`) do set now=%%i
for /f "tokens=1-5* skip=4 delims=/ " %%i in ('dir /tc /od /a-d') do (
if %%i%%j%%k gtr %now% goto:eof
if "%%n" neq "" echo delete --- %%n
)
216: デフォルトの名無しさん [] 2023/03/07(火) 18:08:36.87 ID:aaO7s6EJ(2/2) AAS
>>214
簡単に取得できないんですね、、、
forfileに変わるような便利なコマンドがあれば良かったんですけどね、、、
ありがとうございます。
217: デフォルトの名無しさん [sage] 2023/03/07(火) 19:20:35.55 ID:UPk4pcGD(1) AAS
自分でexe作るよろし
218: デフォルトの名無しさん [sage] 2023/03/07(火) 19:39:11.17 ID:trxvq/2q(1) AAS
前月の同日以前にしたら
219: デフォルトの名無しさん [sage] 2023/03/08(水) 05:54:33.72 ID:AsCwI7z1(1) AAS
Ruby なら、glob, birthtime を使う。
ただし、DryRun なので実際には削除されません
require 'fileutils'
require 'date'
Prev_day_30 = Date.today - 30 # 今日の30日前
# 絶対パスのディレクトリ名の後ろに、* を付けること!
# . で始まる、隠し directory, file を除く
glob_pattern = "C:/Users/Owner/Documents/test/*"
Dir.glob( glob_pattern ).select do |full_path|
stat = File.stat full_path
date = stat.birthtime.to_date # 作成日付
# ファイルで、作成日付が今日の30日前以前のものだけ。30日前も含む
stat.file? && date <= Prev_day_30
end
.each { |full_path| FileUtils::DryRun.rm( full_path ) } # ファイルを削除
220: デフォルトの名無しさん [sage] 2023/03/09(木) 08:57:37.30 ID:12Ly5Xlm(1) AAS
コマンドラインで置換するスクリプトを拾って改造したけど半角スペースや!が混ざるとうまくいかない
chcp 65001
@echo off
echo "第1引数はパス「%1」です。"
echo "第2引数は置換前「%2」です。"
echo "第3引数は置換後「%3」です。"
echo "第4引数はファイル名「%4」です。"
cd /D %1
rem "もし「file_replaced.txt」ファイルが既に存在している場合、削除しておく"
if exist backup_%4 del backup_%4
rem "元ファイルをリネームする"
rename %4 backup_%4
rem "以下の「for」ループ内で変数を変化させるための宣言"
setlocal ENABLEDELAYEDEXPANSION
rem "「for」ループで「file.txt」ファイルの内容を1行ずつ取得し、"
rem "「woman」を「girl」に置換する"
for /f "delims=" %%a in (backup_%4) do (
rem "変数「line」にファイル内容を一行ずつ代入する"
set line=%%a
rem "変数「line」内の「woman」を「girl」に置換し、"
rem "「file_replaced.txt」ファイルに書き込む"
echo !line:%2=%3!>>%4
)
endlocal
221: デフォルトの名無しさん [sage] 2023/03/09(木) 09:46:40.82 ID:H0Wzj8XM(1) AAS
強いて言うなら、変数は ”” でくくる、”%%~a”、”%~1” みたいに
使うほうがトラブルが少ない、
! だけじゃなくて ^ や % などもケアする必要があるので面倒くさい、
になってくる
なので、バッチファイルでやる縛りがあるなら仕方ないかもだけど、
さすがに置換のできる何かを、使うor使えるようにした方が良くない?
今どきの PC なら PowerShell 使えるだろうからせめてそっちにするとか
222: デフォルトの名無しさん [sage] 2023/03/09(木) 19:15:35.15 ID:eHaHoipW(1) AAS
外部コマンドで置換できるツールがフォーカスを奪う仕様で操作できなくなるから
VMで実行したら数時間たっても終わらなくて
別の方法を探したらこれに至った
専用ソフトが見つかり無事終わった
223: デフォルトの名無しさん [sage] 2023/03/10(金) 02:47:18.98 ID:5g8/KHh8(1) AAS
Ruby なら、
re = /あい/
text = <<'EOT'
xあいxあい
yあ
いy
あい
EOT
puts dest = text.gsub( re, 'そら' )
出力
xそらxそら
yあ
いy
そら
224: デフォルトの名無しさん [sage] 2023/03/10(金) 03:09:52.26 ID:dbCMTPvQ(1) AAS
チラシの裏で
225(1): デフォルトの名無しさん [sage] 2023/03/10(金) 17:32:01.38 ID:eGLVllnw(1/2) AAS
散々コマンドリファレンスを読んだりググったけど分からないことを教えてください。
type data.txt | hoge.bat
みたいな事がしたいのですが、バッチスクリプトで、
・bash での read line
・VBScript での WScript.StdIn.ReadLine
のように、1行ずつ標準入力を読むことは可能でしょうか?やっぱり駄目でしょうか?
226(1): デフォルトの名無しさん [sage] 2023/03/10(金) 18:36:07.72 ID:3mB0yP28(1) AAS
for /F
上下前次1-新書関写板覧索設栞歴
あと 593 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.022s