【.cmd】 バッチファイルスクリプト %15 【.bat】 (819レス)
上下前次1-新
204: 2023/03/01(水)23:15 ID:8kmkGnGP(1) AAS
それはchromeのお話ですねえ
開発元のgoogleに聞くのが早いのでは
205: 2023/03/02(木)07:45 ID:X0Akc+Oj(1) AAS
起動するとネットワークプリンタでファイルを出力できるバッチファイルて作れますか?
206: 2023/03/02(木)10:15 ID:rYHGX+R7(1) AAS
ネットワークプリンタで出力されるものは印刷物です
ファイルではありません
207(1): 2023/03/02(木)10:50 ID:h3FhlPC5(1) AAS
>>203
クエスチョンマーク以降のパラメーターを解釈するのは、Webサーバーのお仕事です
サーバーを立ち上げるか借りるかしましょう
208(1): 2023/03/02(木)11: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: 2023/03/02(木)12:44 ID:RvyObGoZ(1/2) AAS
>>208
それでいけるね
ちゃんとクエリーデータも渡ってきてる
210: 2023/03/02(木)14:02 ID:RvyObGoZ(2/2) AAS
>>207
クエリーパラメタはURLの解釈の部分だと思われる(window.location.search)ので
サーバーの仕事というよりHTMLの実行部分(エンジン)の仕事なんだろうね
211: 2023/03/03(金)14:20 ID:cfdc5Bpc(1/2) AAS
あぐえ
212: 2023/03/03(金)14:22 ID:cfdc5Bpc(2/2) AAS
ぼうけ
213: 2023/03/07(火)15:36 ID:aaO7s6EJ(1/2) AAS
「作成日時が30日以上前」を条件としてフォルダ内のファイルを削除したいのですが、方法はありますか?
forfiles だと更新日時が条件となってしまいます、、、
214(1): 2023/03/07(火)16:49 ID:/8dYORgk(1) AAS
作成日時は頑張れば取得できるけどコマンドプロンプトでは時間計算ができないから
PowerShellのスクリプトを書いたほうがいいと思う
215: 2023/03/07(火)17:27 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 ID:aaO7s6EJ(2/2) AAS
>>214
簡単に取得できないんですね、、、
forfileに変わるような便利なコマンドがあれば良かったんですけどね、、、
ありがとうございます。
217: 2023/03/07(火)19:20 ID:UPk4pcGD(1) AAS
自分でexe作るよろし
218: 2023/03/07(火)19:39 ID:trxvq/2q(1) AAS
前月の同日以前にしたら
219: 2023/03/08(水)05:54 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: 2023/03/09(木)08:57 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: 2023/03/09(木)09:46 ID:H0Wzj8XM(1) AAS
強いて言うなら、変数は ”” でくくる、”%%~a”、”%~1” みたいに
使うほうがトラブルが少ない、
! だけじゃなくて ^ や % などもケアする必要があるので面倒くさい、
になってくる
なので、バッチファイルでやる縛りがあるなら仕方ないかもだけど、
さすがに置換のできる何かを、使うor使えるようにした方が良くない?
今どきの PC なら PowerShell 使えるだろうからせめてそっちにするとか
222: 2023/03/09(木)19:15 ID:eHaHoipW(1) AAS
外部コマンドで置換できるツールがフォーカスを奪う仕様で操作できなくなるから
VMで実行したら数時間たっても終わらなくて
別の方法を探したらこれに至った
専用ソフトが見つかり無事終わった
223: 2023/03/10(金)02:47 ID:5g8/KHh8(1) AAS
Ruby なら、
re = /あい/
text = <<'EOT'
xあいxあい
yあ
いy
あい
EOT
puts dest = text.gsub( re, 'そら' )
出力
xそらxそら
yあ
いy
そら
224: 2023/03/10(金)03:09 ID:dbCMTPvQ(1) AAS
チラシの裏で
225(1): 2023/03/10(金)17:32 ID:eGLVllnw(1/2) AAS
散々コマンドリファレンスを読んだりググったけど分からないことを教えてください。
type data.txt | hoge.bat
みたいな事がしたいのですが、バッチスクリプトで、
・bash での read line
・VBScript での WScript.StdIn.ReadLine
のように、1行ずつ標準入力を読むことは可能でしょうか?やっぱり駄目でしょうか?
226(1): 2023/03/10(金)18:36 ID:3mB0yP28(1) AAS
for /F
227(1): 2023/03/10(金)18:44 ID:KiwyNmEo(1) AAS
何がやっぱりなのかわからん
もっとちゃんとググれ
228: 2023/03/10(金)19:12 ID:eGLVllnw(2/2) AAS
>>226
ヒントありがとう。for の中であのコマンドを使うんか…。
>>227
上から目線のジジイはすっこんでろ。
どうせ分かんないんだろ。
ということで正解はここには書かん
229: 2023/03/10(金)19:31 ID:hNo+M64i(1) AAS
要するに見ての通り他のコマンドからパイプで渡された標準入力をバッチファイルで受け取りたいと言う事でしょ
無理なんじゃね
230: 2023/03/10(金)19:46 ID:vz26ACYY(1) AAS
やっぱり(予想通り・諦め・失望)
231: 2023/03/10(金)20:58 ID:c3BQ1P8m(1/4) AAS
こんなのでもいいかな?
@echo off
set lines=0
for /f "tokens=*" %%i in ('more') do (
set data=%%i
call :sub
)
goto :eof
:sub
set /a lines+=1
echo %lines% - %data%
232: 2023/03/10(金)21:03 ID:c3BQ1P8m(2/4) AAS
もちろん
forループの特性上、空白行はスキップされたりいろいろするので
finsdtrと組み合わせたり色々しないといけないけど
過去ログにその話はあったかと
233: 2023/03/10(金)21:21 ID:c3BQ1P8m(3/4) AAS
一応表示は""で括ったほうがいいかな
データ内容次第ではエラーとか色々起きるんで
上下前次1-新書関写板覧索設栞歴
あと 586 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ
ぬこの手 ぬこTOP 0.014s